QuickCocos使用总结
来源:互联网 发布:金字塔程序化交易软件 编辑:程序博客网 时间:2024/05/29 09:39
QuickCocos使用总结
开发环境:Quick3.6.2社区版,CocosStudio2.0.6,Windows10,VS2013
在新公司开发的新项目使用的是quick+studio制作消除游戏,因为是全新的引擎和全新的UI编辑器,使用上还是有些坑和API的,在此记录。Cocos 资料大全里有各个版本的API和引擎等的下载。
安卓打包环境:
- SDK 20
- NDK ndk-r9d
- JDK 1.7
- quick 3.6.2(社区版)
- CocosStudio 2.0.6
- apache-ant-1.9.4-bin
- adt-bundle-windows-x86_64-20140702
csb文件加载
local _node = cc.uiloader:load(filename) -- 加载csb文件 cc.uiloader:seekNodeByTag(_node ,1) -- 通过节点tag获取节点 -- 这里源码部分有错。源码中 uiloader:seekNodeByName这个方法里name == parent.name改为name == parent:getName() cc.uiloader:seekNodeByName(_node ,"node1") --通过节点名字获取节点
按钮监听
local _musicBtn = cc.uiloader:seekNodeByName(self._mainNode,"mMusicBtn") -- 获取button的node _musicBtn:addTouchEventListener(function(sender,eventType) if eventType==ccui.TouchEventType.began then if game.SoundOn==true then audio.playSound(GAME_SOUND.tapButton) --audio是quick中控制音乐播放api end elseif eventType==ccui.TouchEventType.ended then if callBackFunc then callBackFunc() end end end) --eventType类型在DeprecatedUIEnum.lua中
进度条和动画加载
display.addImageAsync(imagePath, callback) --异步加载png,jpg,plist等 display.addSpriteFrames("disapearAni.plist", "disapearAni.png")--将plist放入内存 local frames = display.newFrames("disappear%02d.png",1,6)--用plist制作动画 local animation = display.newAnimation(frames,0.6/6) --0.6s里面播放6帧 display.setAnimationCache("disappear",animation) --设置动画别名可直接调用 sprite:playAnimationOnce(display.getAnimationCache("disappear"),true)--Sprite:playAnimationOnce(animation, removeWhenFinished, onComplete, delay)
帧动画
self._mainRoleNode =cc.CSLoader:createNode("Luffy.csb"):addTo(self) self._mainRoleAni = cc.CSLoader:createTimeline("Luffy.csb") self._mainRoleNode:runAction(self._mainRoleAni) self._mainRoleAni:gotoFrameAndPlay(frameBegin,frameEnd,true)-- frameBegin动画开始帧,frameEnd动画结束帧,true是否循环。目前只找到这个方法播放动画。用延迟来控制动画播放后的回调函数(很希望能找到动画结束的回调啊)
控件方法
-- 输入框editBox local editBox2 = cc.ui.UIInput.new({ image = "EditBoxBg.png", size = cc.size(400, 96), x = display.cx, y = display.cy, listener = function(event, editbox) if event == "began" then self:onEditBoxBegan(editbox) elseif event == "ended" then self:onEditBoxEnded(editbox) elseif event == "return" then self:onEditBoxReturn(editbox) elseif event == "changed" then self:onEditBoxChanged(editbox) else printf("EditBox event %s", tostring(event)) end end }) editBox2:setReturnType(cc.KEYBOARD_RETURNTYPE_SEND) self:addChild(editBox2) -- 按钮切换三态图片 loadTextureNormal(name, type) --替换正常显示的效果 loadTexturePressed(name, type)--替换按下显示的效果 loadTextureDisabled(name, type)--替换禁用的效果 --type==0,表示从本地加载,type==1,表示从缓存的cache也就是打包生成的plist里加载 -- 经验条 local expBar = cc.uiloader:seekNodeByTag(self._mainNode,301) expBar:setPercent(20) -- 文本Label local defLabel = cc.uiloader:seekNodeByTag(self._mainNode,203) defLabel:setString("10") -- 图片置灰 display.newGraySprite(filename, params) --params在filter.lua中可查到
3 0
- QuickCocos使用总结
- quickcocos 快速启动游戏参数
- 使用总结
- 【eXtremeComponents总结系列】使用总结
- 【eXtremeComponents总结系列】使用总结
- AFNetworking使用总结 与使用
- Notification使用总结(基本使用)
- Tiles使用心得,使用总结
- WSE使用总结
- MASM宏使用总结
- 水晶报表使用总结
- struts+hibernate使用总结
- MASM宏使用总结
- 转载 内存使用总结
- MySQL使用总结(1)
- MiddleGen的使用总结
- Libpcap使用总结
- CTime 使用总结
- 利用d3.js绘制柱状图demo
- Git学习总结(6)——作为一名程序员这些代码托管工具你都知道吗?
- noclassdeffounderror 异常处理
- Git之分支
- 判断List是否为空 else 显示其他的
- QuickCocos使用总结
- Linux系统如何为进程分配内存
- 无法访问android.app.Activity
- Java中的volatile关键字
- the apk for your currently selected variant(app-release-unsigned.apk)is not signed.Please specity a
- iframe参数详解
- List
- springmvc后台获取图片,到jsp页面显示
- face alignment读取.pts文件