quick-cocos2d-x 飞机大战(打飞机)小demo教程------主角飞机类


由于新工作环境的需求,本人很无奈的要投靠在lua的怀抱里了,由本来最喜欢的c++怀抱离去了,cocos2d-x转到quick-cocos2d-x,就在2天内完成了lua跟quick-cocos2d-x的粗略学习,而其中就干了一个

的打飞机小demo,说多都是泪啊,说多无谓了,还是今天的正题吧,撸起我们的打飞机。。。。。。。。。。。。


今天我们要创造一个属于我们的主角------飞机,这个不是打的,是用来打别人飞机的,不小心又邪恶了,看代码:这是一下新建了名字叫Role.lua文件



--
--主角飞机类
--Author: crh
--Role.lua

local Role = class("Role", function()
     return display.newSprite("GreenButton.png", display.cx, 50)
end)


--构造函数 开启触摸  手指或者鼠标拖动到哪里飞机跟随到哪里
function Role:ctor()

     self:setTouchEnabled(true)
     self:addTouchEventListener(function ( envnt, x, y, prevX, prevY )
          self:pos(x, y)
          return true
     end)

     self.hp = 100
end


--血量计算暂时木有用到
function Role:getHp()
     return self.hp
end

function Role:setHp( var )
     self.hp = var
end

    
function Role:onEnter()
end


return Role




注释非常清楚了,注意一点就是ctor()是我们的构造函数,不要我为啥,因为我也是刚学了,想知道就去看源代码class里面的调用吧,自力更生丰衣足食,自己干才会深刻,别人告诉明天就忘了,而在我们的构造函数里面开启了触屏事件,还有调用了触屏的回调函数,用过cocos2dx的都应该清楚了,这也不多说了,漏了一点,里面的self就是相当于c++类里面的this指针,这个为啥,还是要靠你们自力更生了,而lua里面调用函数能用 : 和 . 这2个符号调用的,区别嘛,下章在说吧,夜了,今晚就到处为止了,有空再来,这阵子感觉在新的环境有危机感了,因为本人比较懒的,这点是人都应该知道啦,好鸟,大家晚安咯!!!!写到这里还是忘记了上图,唉,补上先了


新建项目不用说了,自己上官网看,我这里是sublime text 2开发的,由于mac连不上网就用window了,我先在工程app文件夹里面新建了一个obj的文件夹,摆放我们的物体类,这点大家懂啦,然后场景我们还是原来那个MainScene.lua,就把里面ctor函数体内删了,里面空白的哦,然后在ctor函数里面添加我们的飞机进去场景,你用player打开你的工程,鼠标拖动飞机就能移动了,又是看代码的时候了


--其实能把这个文件直接覆盖的,你对比一下没多少区别的 MainScene.lua
--导入lua文件
local Role = import("..Obj.Role")


local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()
	self.plane = Role.new()
	--添加主角飞机在场景
    self:addChild(self.plane)

end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

如此简单就不多说了,sorry,又忘记了,就是飞机的资源,图片在哪里呢?你猜,猜中有奖,不说废话了,其实在工程的范例里面找到的你的引擎位置XXXX\quick_cocos2d_x\samples\ui\res\GreenButton.png  它是神马样子?自己去瞧吧



代码结构就是这样了,非常清晰了,自己去试试吧,本人还是菜鸟,坐等大神来指点,这次真的晚了,睡觉去鸟!!





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值