Desarrollo de Lua / Tencent Bugly / Captura de pantalla / Máscara

Tencent Bugly <es un SDK> es uno de los servicios abiertos de Tencent para desarrolladores móviles. Proporciona supervisión de fallos profesional, análisis de fallos y otros servicios de seguimiento de calidad para desarrolladores móviles.

El SDK Aladdin, que es similar al análisis de datos del subprograma, es solo el bloqueo del análisis, anormal


El problema de la aserción y la cadena de carga en lua
Inserte la descripción de la imagen aquí

删除元素方式:(下标变化)
 tab[i] = nil  
 table.remove(tab, i) 

--------------------------- tolua Algunas funciones útiles
tolua proporciona varias funciones de herramienta para el intercambio de datos entre C ++ y Lua
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí


Principio de tecnología negra: por qué requieren clases. Modificar función ... <paquete.cargado>
Tipos de errores comunes de lua https://blog.csdn.net/yuanfengyun/article/details/78001988

------- Consulte la actualización en caliente
.
Cuando el juego del desarrollador está instalado en el teléfono móvil del usuario, los recursos del paquete, los recursos de caché local y los recursos temporales están en forma de .ipa (iOS) o .apk (Android) Existe, después de instalar este tipo de paquete de aplicación, su contenido no se puede modificar ni agregar, y los recursos del paquete de aplicación siempre existirán. Por lo tanto, en el mecanismo de actualización en caliente, solo podemos actualizar la caché local al directorio grabable del teléfono móvil (espacio de almacenamiento de la aplicación o directorio especificado en la tarjeta SD) y completar la caché local para sobrescribir los recursos en el paquete a través de la ruta de búsqueda. mecanismo de FileUtils. Al mismo tiempo, para garantizar la confiabilidad de la actualización, primero colocaremos los recursos de la nueva versión en una carpeta temporal durante el proceso de actualización. Solo cuando la actualización se complete normalmente, se reemplazará en la carpeta de caché local. Si la actualización se interrumpe a mitad de camino o la actualización falla, la versión fallida en este momento no contaminará la caché local existente. Este paso se describe
Inserte la descripción de la imagen aquí
en detalle en el diagrama de flujo del capítulo anterior: En el caso de varios enlaces para describir actualizaciones durante mucho tiempo , la caché local siempre se reemplazará con la última versión y el paquete de la aplicación solo esperará hasta que el usuario actualizaciones en la tienda de aplicaciones. No se modificará hasta la nueva versión.

------ Máscara ------------------ Artículo de referencia - https: //blog.csdn.net/ while0/article/details/43850749 (Bien escrito)
Inserte la descripción de la imagen aquí

Como producción de guías novatos
Inserte la descripción de la imagen aquí
1, principio

ClippingNode(裁剪节点)可以用来对节点进行裁剪。ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。

主要是根据一个模板(Stencil)切割图片的节点,生成任何形状的节点显示。

ClippingNode是利用模板遮罩来完成对Node区域裁剪的技术。

-------------------------------------------------- ---------------- Captura
de pantalla 1 ¿Cómo tomar una captura de pantalla de la pantalla de vista de desplazamiento? <Renderizar el nodo con una cámara ortográfica específica>
2 ¿Por qué el lado derecho está en blanco después de tomar una captura de pantalla? <Porque el recorte en cocosstudio no está marcado>
Inserte la descripción de la imagen aquí
3 Las capturas de pantalla ordinarias usan la versión oficial 3.2 de cc.utils: captureScreen es equivalente a cc.RenderTexture

子龙山人引擎元老16-05-3
@rabeechen
你要截的屏幕中含有 ClippingNode 或者 ScrollView, ListView 等控件?
需要在创建 RenderTexture的时候指定 stencil
(var tex = new cc.RenderTexture(winSize.width, winSize.height, cc.Texture2D.PIXEL_FORMAT_RGBA8888, gl.DEPTH24_STENCIL8_OES);)
function TeamPictureScrollView:_drawTeamPicture(rect)
	self._camera = cc.Camera:createOrthographic(1136, 640, 0, 1)
    self._camera:setCameraFlag(cc.CameraFlag.DEFAULT)
    self._scroll:addChild(self._camera)
	self._scroll:setCameraMask(1)

	-- self._rt = cc.RenderTexture:create(rect.width, rect.height, cc.TEXTURE2_D_PIXEL_FORMAT_RGB_A8888, 0x88F0)
	-- self._rt = cc.RenderTexture:create(rect.width, rect.height, cc.TEXTURE2_D_PIXEL_FORMAT_RGB_A8888, gl.DEPTH24_STENCIL8_OES)
	-- self._rt = cc.RenderTexture:create(rect.width, rect.height, cc.TEXTURE2_D_PIXEL_FORMAT_RGB_A8888, gl.DEPTH24_STENCIL8_OES)
	self._rt = cc.RenderTexture:create(rect.width, rect.height)
    self._rt:beginWithClear(0, 0, 0, 0)
    self._scroll:visit()
    self._rt:endToLua()
	self._rt:retain()
	
	local texture = self._rt:getSprite():getTexture()
    self._spr = cc.Sprite:createWithTexture(texture)
    -- self._spr:setAnchorPoint(0.5, 0.5)
    self._spr:setAnchorPoint(0, 0.5)
    self._spr:setFlippedY(true)
    self._spr:setScale(0.3)
    -- self._spr:setScale(0.24)
    -- self._spr:setPosition(1136 / 2, 640 / 2)
    self._spr:setPosition(0, 640 / 2)

    self:_performWithDelay(function()
        self._camera:removeFromParent(true)
        label:removeFromParent(true)
	end, 0.1)
	
	return self._spr
end

-----------

--人物面板点击     <截图解释:为什么要判断偏移量>
function GuildDungeonMonsterNode:_onPanelClick(sender)
	local offsetX = math.abs(sender:getTouchEndPosition().x - sender:getTouchBeganPosition().x)
	local offsetY = math.abs(sender:getTouchEndPosition().y - sender:getTouchBeganPosition().y)
	if offsetX < 20 and offsetY < 20  then
		self:showStageDetail()
	end
end

Inserte la descripción de la imagen aquí
------------------ manejo de excepciones con errores : posicionamiento incorrecto,
análisis de vida y muerte : no la función de devolución de llamada "_onClick" está vacía, pero la función de devolución de llamada de temView está vacía (tiene ido a TeamView no es la clase TeamHeroPageItem)
Inserte la descripción de la imagen aquí
error: ¿Por qué informar de un error después de que se haya considerado vacío? No manejará ... ayuda ...
Inserte la descripción de la imagen aquí
error: pila de llamadas, función de nivel superior (no es la clase actual o la clase de nivel superior)
Inserte la descripción de la imagen aquí

-------------------- Conocimientos básicos del
lenguaje C: paso de puntero, paso de referencia, paso de valor (los parámetros reales y los parámetros formales son diferentes en la memoria)
lua pytho js C #: tipo de referencia (memoria en la pila) Tipo de valor (memoria asignada en el montón)

void swap(int a, int b)
void swap(int *a, int *b)
void swap(int &a, int &b)

Supongo que te gusta

Origin blog.csdn.net/u013321328/article/details/108593251
Recomendado
Clasificación