Cocos2dx ActionTimeline(如何播放cocosStudio编辑的动画 )

本文环境:cocos studio Version:3.10,cocos version:3.14.1


用cocos Studio编辑一个简单的动画,导出为csb文件(或者json)
这个csb文件里现在有两个动画,一个 jumpAmi(0-40) 另一个idleAmi(41-61)
如何用代码控制播放呢?下面直接上代码。

–传入Studio2.x的资源路径
local rootNode = cc.CSLoader:createNode(“ui/lobby_ui/inbox_btn_ui.csb”)
local action = cc.CSLoader:createTimeline(“ui/lobby_ui/inbox_btn_ui.csb”)

–注!!!:同一个文件创建的节点只能使用同一个文件创建的动画。
rootNode:runAction(action)
self:addChild(rootNode) –假定self为当前显示的scene

–第一个参数为起始帧,第二个参数为结束帧,第三个参数为是否循环播放
action:gotoFrameAndPlay(0,40,true)

还有其他播放方法,例如:action:play(“idleAmi”,true) 具体的去看API
帧事件监听可以调setFrameEventCallFunc()

action:setFrameEventCallFunc(function ( frame )
print(“event name:”,frame:getEvent())
end)


心得:刚开始做游戏的时候不习惯用编辑器,不管页面还是逻辑都用代码敲,觉得编辑器资源导来导去的很麻烦,但是做到后面发现编辑器可以省很多事,尤其是动画,要换做手写的话调试起来很麻烦,而且有一堆参数(数字)在哪里,看着就不顺眼。

IOS提审报 Guideline 4.3 – Design

We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

最近提了三个包两个因为4.3被拒了,一个因为4.1被拒了,今天我说一下4.3的:
第一个包:之前提交了一次被拒了,然后我移除app换了个bundle ID重新提交,这时候就报4.3,原文只这样描述的:
We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.
到现在我也没解决,因为是个人项目就没理它了。

第二个包:是公司的项目,用的引擎是cocos2dx,我没去公司之前他们提交了好多次都被拒了,具体原因不太清楚,也有报4.3,我来之后我们就把所有代码都重写了,去掉了很多第三方库,然后换了开发者账号,换了全新的电脑,包括上传时用的WI-FI都换了,在重新提交。提交过后四五天没还是在审核中,没有任何反馈,于是我们就申请加急审核,大概又过了两三天,被拒了,原因就是4.3 。我们都很沮丧,准备把服务器客户端统统换协议换资源,重写代码再来一遍,服务器都开始着手做了,同时我这边也向提了申诉。两天后的一个早晨惊喜出现了,审核通过,状态变为:等待开发者发布。我们公司全体人员那个叫兴奋啊。。。。

申诉的内容是:

尊敬的审核官,你好!
我们的app提交已经5天了,至今还是等待审核状态;
1,本app为全新开发,采用cocos2dx-lua开源引擎,c++引擎代码占整体二进制代码量的50%以上,不知道是否会引起机审不过的状态,认为重复率很高;
2,本app通信模块采用Smartfox开源引擎c++代码占整体二进制代码量的9.9%以上,这可能是最糟糕的一部分,因为在2年前我们有使用smartfox通信模块的app上架app store!也会造成重复率很高,导致机审不过;
3,游戏内也包含boost开源库,c++代码占整体二进制代码量的40%以上,也会造成重复率很高,导致机审不过;
4,游戏主体部分都是采用lua脚本语言开发,全部重新编写;团队重新编写的c++代码量不足1%;
所以整个开发团队感觉很沮丧,我们完全重新编写的app迟迟得不到审核通过,团队面临解散的风险,望审核官体谅;
无论cocos2dx,smartfox,boost 三者都是开源的c++技术框架(占整体二进制代码量的99.9%以上),请审核官能给我们及时的反馈,团队也好决定下一步方向,谢谢!

说一些4.3出现的原因吧!
就是苹果认为你提交的APP和其他APP很相似,他们把它当作垃圾App来处理。在严重一点好像就变成4.1了哈哈哈

Cocos2dX-lua Commonly used functions

一些常用的函数,写出来主要是方便拷贝哈哈哈哈哈哈哈……

setPosition //设置坐标 setPosition(cc.p(x,y))
setAnchorPoint //设置锚点 setAnchorPoint(cc.p(0,0))
setContentSize //设置大小 setContentSize(cc.size(width, height))
setLocalZOrder //设置层级 setLocalZOrder(0)
setScale //设置缩放 (0-1)setScale(0.5)
setRotationSkewY //翻转 setRotationSkewY(180)
setFlippedX //镜像反转 setFlippedX(true)
setRotation //旋转 setRotation(90)
removeFromParent //从父物体上移除 removeFromParent()
removeAllChildren //移除所有子物体 removeAllChildren()
setOpacity //设置透明度(0-255)setOpacity(150)
setColor //设置颜色 setColor(cc.c3b(128, 128, 128)) 支持c4b
setTouchEnabled //是否可点 setTouchEnabled(true)
setVisible //是否可见 setVisible(true) 我习惯用show和hide
stopAllActions //停止所有Action stopAllActions()
getChildByTag //根据tag找控件 getChildByTag(99)
getChildByName //根据名字找控件 getChildByName(“login_btn”)

有set方法一般都会有get方法,所以不写两次

string.upper(argument) –字符串全部转为大写字母
string.lower(argument) –字符串全部转为小写字母
string.format(…) –格式化字符串(拼接)
string.len(arg) –计算字符串长度

local chips3 = math.max(unpack(rewards)) –求数组rewards中的最大值

performWithDelay(self,function ( … ) –延时调用

end,1.2)

This app has invalid architecture, and may have been built with invalid build settings or incompatible tools

这两天iOS项目上线,中途遇到很多问题,说一下最坑的一个吧!哈哈:
按正常的流程打包上传都没问题,可是上传的包一会儿(两分钟左右),然后发了如下信息到我的邮箱。

Dear Developer,

We identified one or more issues with a recent delivery for your app, “** ** ***”. Please correct the following issues, then upload again.

Invalid architectures – This app has invalid architecture, and may have been built with invalid build settings or incompatible tools. Try rebuilding the app with the latest Xcode version. If you are using third party development tools, contact the provider.

Best regards,

The App Store Team

真的说的很笼统,根本看不出原因,猜测,以为是Xcode版本的原因,于是就把电脑系统还有Xcode升级,再来一遍,还是如此,来来回回折腾了三四遍,才找出原因:

原来是项目版本太低了,现在最低支持8.0,而我选的是填6.0,这真是太坑了,改完之后在打包上传就OK了,就算有其他原因导致上传失败,也会报错的(没改之前不会😄)。