
cocos2d-lua
andy1515
半路程序员
展开
-
math.cos,math.sin
角度和弧度转换弧度 = 角度2π /360 =角度π / 180 = 角度 *Math.PI / 180角度 = 弧度360 / 2π = 弧度180 / π = 弧度 * 180 / Math.PI如何得到圆上每个点的坐标?两条重要公式邻边(x)= sin(角度对应弧度) * r对边(y) = cos(角度对应弧度) * rX坐标 = a + Math.sin(角度(Math.PI / 180))rY坐标 = b + Math.cos(角度(Math...原创 2022-01-25 10:53:31 · 778 阅读 · 0 评论 -
cocos2dx渲染机制
导演类的mainLoop中会调用drawScene,在drawScene中会调用场景类的render,render中会递归执行节点类的visit,visit中会调用精灵类的draw,draw中会执行渲染类的addCommand。对所有节点执行完addCommand后,会执行渲染类的processRenderCommand,接下来执行渲染类的drawBatchedTriangles,最终在drawBatchedTriangles内会调用多个openGL API完成渲染...原创 2022-01-10 09:30:22 · 2866 阅读 · 0 评论 -
Cocos2d-lua,Button setCapInsets
1,Cocos2d中的Button可以通过两种方式创建:代码:localbtn=ccui.Button:create()CocosStudio:直接使用Button空间,拖拽到指定的位置调整好需要的属性即可。localbtn=panel:getChildByName("button")button:addClickEventListener(function(sender,type)--TODOend)添加按钮监听事件。ok,上面就是...原创 2021-02-23 19:31:26 · 971 阅读 · 0 评论 -
cocos2dx中世界坐标,节点坐标,opengl坐标,屏幕坐标理解
cocos2dx中的坐标系统一、 (1)OpenGL坐标系Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系。该坐标系原点在屏幕左下角,x轴向右,y轴向上。(2)屏幕坐标系屏幕坐标系使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。iOS的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系。因此在Cocos2D-x中对触摸事件做出响应前,需要首先把触摸点转化到OpenGL坐标系。这一点在后面的触屏信息中会详细介绍,可...原创 2021-02-21 11:20:42 · 1683 阅读 · 2 评论 -
cocos+lua中创建富文本
local rich_text = ccui.RichText:create() -- 创建富文本rich_text:ignoreContentAdaptWithSize(false) --是否文字自动转行rich_text:setContentSize(500 , 40) --设置大小rich_text:setPosition(cc.p(0,layout:getContentSize().height/2)) --设置位置rich_text:setAnchorPoint(...原创 2021-02-11 10:05:35 · 763 阅读 · 0 评论 -
cocos2dx-lua 递归开启多层子节点的透明度设置
原文地址:https://segmentfault.com/a/1190000038642307前言在cocos2dx-lua中若是要设置父节点和子节点的透明度,能够使用父节点的setCascadeOpacityEnabled方法开启节点透明度设置,否则没法设置节点透明度。可是这个方法有个缺陷,当一个节点中有多层子节点时,没法开启子节点的子节点的透明度设置。网上常见的解决方案是去改引擎源码,将节点的透明度设置默认为开启。这里提供另外一种解决方案。node递归开启子节点的透明度为了能开启所有转载 2021-01-31 10:35:40 · 678 阅读 · 0 评论 -
cocos2dx 的convertToWorldSpace
关于这个函数作用大家都知道,是把本地坐标转换为世界坐标,但是这种说法太宽泛。到底什么是本地坐标,什么是世界坐标,这个函数的用法 :node->convertToWorldSpace(child->getPosition) 用的时候这个node和child到底是什么东西?工作中有一个需求是判断子弹是否飞出了屏幕,但是子弹是在地图层的,地图又在gameLayer层上,gameLayer上又有层,这一层套一层到底该怎么判断子弹的绝对位置呢?bullet->getPositio..原创 2020-09-12 09:43:07 · 625 阅读 · 0 评论 -
cocos2dx 之[CSLoader]的额外应用
1.--lua版本self.tNodeChild = {}local callBack = function(ref)local name = ref:getName()self.tNodeChild [name] = refendlocal csbnode = cc.CSLoader:createNode(csbFile,callBack)CSLoader 这个方法很常用 不就是用来加载csb文件么。 但是他后面可以添...原创 2020-07-26 12:06:52 · 288 阅读 · 0 评论 -
cocos2d-x lua 调用onEnter和onExit
onEnter和onExit在lua中不会因节点别add和remove而直接被调用,当子节点被父节点add和remove时,会发送enter和exit的消息,所以需要再初始化节点的时候,监听消息,并在收到消息后调用onEnter或onExit。local function onNodeEvent(event)if event == "enter" then self:onEnter()elseif event == "exit" then self:onExit()end...原创 2020-05-24 19:55:24 · 468 阅读 · 0 评论 -
cocos2dx+lua注册事件函数举例20200512
https://blog.youkuaiyun.com/tutuboke/article/details/39548735参考coocs2dx 版本 3.1.1registerScriptTouchHandler 注册触屏事件registerScriptTapHandler 注册点击事件registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件registe...原创 2020-05-12 16:51:12 · 193 阅读 · 0 评论 -
cocos2d lua debug.traceback
[string "scenes/game/home/MapView.lua"]:0: table index is nilstack traceback:[string "scenes/game/home/MapView.lua"]: in function 'onEnter'[string "framework/cocos2dx/NodeEx.lua"]: in function <...原创 2020-04-30 22:21:31 · 931 阅读 · 0 评论 -
cocos2dx 物理引擎chipmunk
local PhysicsScene = class("Scene",function() return cc.Scene:createWithPhysics() -- 物理场景end)function PhysicsScene:ctor() -- local scene = cc.Scene:createWithPhysics() -- scene:addChild...原创 2020-04-25 16:30:39 · 342 阅读 · 0 评论 -
cocos2d-x Lua开局的初始化和MianScene的初始化20200422
main.lua xpcall()->mian()-> AppBase.lua ctor()->MyApp.lua onCreate()-> run()->enterScene()->createView()->ViewBase.lua ctor()->MainScene.lua onCreate()难点在于 为何会调用ctor的方法?因为...原创 2020-04-22 14:33:37 · 267 阅读 · 0 评论 -
cocos2d-x Scale9Sprite的使用方法 lua篇20200421
这里简单记录一下Scale9sprite的使用方法,其实使用这个方法主要是用来拉伸图片,好处就是该方法拉伸的程度不会像setScale方法这样严重扭曲变形。而是将一个纹理分为九个部分,也就是九宫格,上图:将图片为9个部分,拉伸的情况下1,3,7,9 不会拉伸,2,8部分水平方向拉伸,4,6部分竖直方向拉伸,5两个方向都会拉伸,这样纹理就不会扭曲变形。下面,贴出代码看一下九宫格怎么使用...原创 2020-04-21 19:40:38 · 657 阅读 · 0 评论 -
cc.FileUtils 常用函数
getWriteablePath()addSearchPath()findPathForFilename()isFileExist()getStringFromFile()purgeCachedEntries() 一般是更新资源后进行搜索前调用getValusMapFromFile()\" \" 表示双引号的意思 示例 a["qwe"]表示为 : "a[\"%s\"]"...原创 2020-04-21 11:30:47 · 1008 阅读 · 0 评论 -
cocos_lua3.0 registerScriptHandler 与registerScriptTapHandler 比较20200415
原文链接:https://blog.youkuaiyun.com/liyoushihaer/article/details/39055425一 、调用registerScriptHandler 的对象不同相应的响应函数和调用方式也不相同1、 对象为layer时调用方式为:localfunctiononNodeEvent(event) -- event 包括exit enter...原创 2020-04-15 16:08:26 · 332 阅读 · 0 评论 -
cocos2dxz之action和actionmanager关系
Cocos2d-x Action管理动作管理类CCActionManager是一个管理所有动作的单例,工作原理是:当CCNode执行runAction时,该函数会把动作通过动作管理类的addAction函数将对象传递给CCActionManager的单例,该实例再把这个动作添加到自己的动作序列中。动作管理单例通过定时刷新自己的update方法,在这个方法中去调用行为序列中每个动作的step...原创 2020-04-07 10:24:18 · 210 阅读 · 0 评论 -
cocos2dx之anchorpoint
设置锚点:Layer和Sprite有不同,layer要设置锚点,必须先:ignoreAnchorPointForPosition(false);原创 2020-04-07 09:06:42 · 153 阅读 · 0 评论 -
cocos2d-x什么时候需要retain和release
原文:https://blog.youkuaiyun.com/musicvs/article/details/8689345?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task1.为什么会有retain?C++和Java不一样,Java有一套很方便的垃圾...原创 2020-03-24 10:01:51 · 293 阅读 · 0 评论 -
cocos2dx schedule流程图
原创 2020-03-23 15:11:24 · 250 阅读 · 0 评论 -
cocos2d-x EventDispatcher流程图
dispatchEvent总结:1.调用sortEventListeners对listener排序2.调用dispatchTouchEventToListeners并传listenervVector和回调onTouchEvent给它3.按照监听器优先级小于0,优先级==0,优先级>0的顺序执行回调函数4.调用updateListeners(event);...原创 2020-03-23 15:09:42 · 232 阅读 · 0 评论 -
cocos2dx mainloop
原创 2020-03-23 15:04:45 · 119 阅读 · 0 评论 -
cocos2d-x 3.0渲染架构包含7种渲染命令
原文地址:https://blog.youkuaiyun.com/zhangshuliai/article/details/25740343?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task3.0之前是visit后就draw,而draw是真正的Open...原创 2020-03-11 19:27:10 · 195 阅读 · 0 评论 -
解析图片占据内存的大小
原创 2020-02-02 19:32:36 · 292 阅读 · 0 评论 -
精灵帧缓存和使用纹理对象创建Sprite对象
//获取精灵帧缓存的单例对象auto spriteFrameCache = SpriteFrameCache::getInstance();//从plist文件添加多个精灵帧spriteFrameCache->addSpriteFrameWithFile("XX.plist");//根据图片名称创建一个精灵帧auto sprite1Frame =spriteFrameC...原创 2019-12-29 10:09:37 · 182 阅读 · 0 评论 -
cocos2d-x 2.x版本中,场景切换各方法调用顺序
假设从A场景切换到B场景,调用各场景方法的顺序为:如果没有切换效果(transition),则先调用B的init(),再调用A的onExitTransitionStart(),接着调用A的onExit(),然后调用B的onEnter(),最后调用B的onEnterTransitionFinish; 如果有切换效果(transition),则为先调用B的init(),再调用A的onExitTr...原创 2019-12-28 08:57:50 · 170 阅读 · 0 评论 -
《Cocos2d-x-3.2 Lua-tests》文件详解 之 基本绘图DrawPrimitives
--[[ cocos2d-x基本图形的绘制--]]local function drawPrimitivesMainLayer() local kItemTagBasic = 1000 local testCount = 2 local maxCases = testCount local curCase = 0 local size = c...原创 2019-11-21 10:55:52 · 461 阅读 · 0 评论