最新版的cocos引擎都已经发布到3.12了,可能因为触控科技能注重cocos creater的发展,之前3.10的整合版本也不存在了(其实我挺喜欢之前的整合版本的)不知道以后是不是都会变成creater开发cocos游戏,但目前为止绝大部分的公司还是用的cocos2d-x不同的版本,我有一朋友的公司还用的是3.3版本呢,没有了3.10这个整合大版本,新建项目和打包apk只能靠写代码创建了。
1.首先要做的就是安装python了当然一定要是2.7的那个版本,最近我去python看了看最新的好像都更新到了3.5了-。-!
2.然后就是下载各种环境SDK,NDK,ANT把他们下载好。
3.配置各种环境变量python的,SDK,NDK,ANT的当然还有java的
4.剩下的就是敲各种命令了,我就不详述了链接如下:链接1 链接2 链接3
继续完善之前的例子
1.从内存中取出纹理并创建精灵
function MainScene:createSpriteTank()
-- 向内存中添加缓存
-- 注意要使用此方法注意调用的函数的名字 是createWithSpriteFrameName与另一个的写法不同
cc.SpriteFrameCache:getInstance():addSpriteFrames("tankPlist.plist")
local tankUp = cc.Sprite:createWithSpriteFrameName("tank_p_u.png")
tankUp:setPosition(display.cx, display.cy)
self:addChild(tankUp)
end
2.创建input控件
function MainScene:createStInput()
--self.input = ccs.GUIReader:getInstance():widgetFromBinaryFile("MainScene.csb")
--self:addChild(self.input)
local buttonLayer = cc.CSLoader:createNode("Layer.csb")
local button = buttonLayer:getChildByName("Button_1")
button:retain()
--button:removeFromParentAndCleanup(true)
button:removeFromParent(true)
button:setPosition(display.cx, display.cy)
--print(button:getReferenceCount())
--print(buttonLayer:getReferenceCount())
local tempLayerColor = cc.LayerColor:create(cc.c4b(100, 200, 100, 100), 500, 500)
tempLayerColor:setPosition(display.cx, display.cy)
--tempLayerColor:setTouchEnabled(false)
--tempLayerColor:setSwallowsTouches(true)
--tempLayerColor:isTouchEnabled()
local input = buttonLayer:getChildByName("TextField_1")
input:retain()
input:removeFromParentAndCleanup(true)
input:setPosition(display.cx - 100, display.cy - 100)
self:addChild(input)
self:addChild(button)
self:addChild(tempLayerColor)
end
3.创建cocos帧动画
function MainScene:createCSAction()
local nodeItem = cc.CSLoader:createNode("Skeleton2.csb")
local actionLayer = cc.CSLoader:createTimeline("Skeleton2.csb")
nodeItem:setPosition(cc.p(display.cx, display.cy))
self:addChild(nodeItem)
actionLayer:gotoFrameAndPlay(0, 145 , true)
nodeItem:runAction(actionLayer)
end
4.创建瓦片地图2
function MainScene:createTMX2()
-- 创建一个新层
local layer = display.newLayer()
layer:addTo(self)
-- 注意文件路径,并且文件名不能带-
local map = ccexp.TMXTiledMap:create("battleScene.tmx")
map:addTo(layer)
map:setPosition(cc.p(0, 0))
local bgLayer = map:getLayer("bg")
local title = bgLayer:getTileAt(cc.p(1, 1))
--bgLayer:removeChild(title, true)
print("aaa"..title:getPositionX().."@@@@@@@"..title:getPositionY().."########"..map:getTileSize().width)
end
5.创建节点裁切
function MainScene:ccreateClipNode()
local holesClipper = cc.ClippingNode:create()
holesClipper:setPosition(cc.p(0, 0))
holesClipper:addTo(self)
holesClipper:setInverted(true)
holesClipper:setAlphaThreshold(0.5)
local temSprite = display.newSprite("map.jpg")
temSprite:setPosition(cc.p(display.cx, display.cy))
temSprite:addTo(holesClipper)
local hole = cc.Sprite:create("grass.png")
hole:setPosition(cc.p(display.cx, display.cy))
holesClipper:setStencil(hole)
end