cocos2d-x(十一)Lua开发飞机大战-6-添加子弹
来源:互联网 发布:安卓魔音通话变声软件 编辑:程序博客网 时间:2024/05/16 07:18
接下来我们为飞机添加子弹,首先创建一个BulletLayer:
module("BulletLayer",package.seeall) local bulletBatchNode = nillocal plane = nillocal bulletArray = {}local bulletLayer = nilfunction create()bulletLayer = CCLayer:create()bulletBatchNode = CCSpriteBatchNode:create("Images/shoot.png")bulletLayer:addChild(bulletBatchNode);return bulletLayerend
先解释一下定义的那几个变量吧。
bulletBatchNode 是用来管理子弹精灵的,对于CCSpriteBatchNode不太熟悉,请自己去查查资料。
plane是指我们的主角,在设置子弹位置的时候需要飞机的大小。
bulletArray是用来存放子弹的一个table,在做实体碰撞的时候会用上。
现在来创建一个子弹吧
function addBullet()local planeX = plane:getPositionX()local planeY = plane:getPositionY()local bullet = CCSprite:createWithSpriteFrameName("bullet1.png")local bulletPostion = ccp(planeX,planeY + plane:getContentSize().height / 2)bullet:setPosition(bulletPostion)bulletBatchNode:addChild(bullet)local length = visibleSize.height + bullet:getContentSize().height / 2 - bulletPostion.y;local velocity = 250 --飞行速度local moveTime = length/velocitylocal actionMove = CCMoveTo:create(moveTime,ccp(bulletPostion.x,visibleSize.height + bullet:getContentSize().height / 2))local actionDone = CCCallFuncN:create(removeBullet)local sequence = CCSequence:createWithTwoActions(actionMove,actionDone)bullet:runAction(sequence)table.insert(bulletArray,bullet)end
子弹有了,图层有了,如何会将子弹不断的添加到图层上呢?当然是用scheduler。
local addBulletEntry = nilfunction stratOneShoot()if addDoulbeBulletEntry ~= nil thenstopDoubleShoot()endaddBulletEntry = CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(addBullet, 0.2,false)end
有了开始射击,自然应该有停止射击
function stopOneShoot()if addBulletEntry ~= nil thenCCDirector:sharedDirector():getScheduler():unscheduleScriptEntry(addBulletEntry)addBulletEntry = nilendend
好了,现在是不是看见子弹满天飞了。
0 0
- cocos2d-x(十一)Lua开发飞机大战-6-添加子弹
- cocos2d-x(十二)Lua开发飞机大战-7-添加敌机
- cocos2d-x笔记(十一)Lua开发飞机大战-5-让飞机动起来
- Cocos2d-x 3.2 lua飞机大战开发实例(一)背景地图,飞机,子弹的封装,以及lua中定时器的使用
- cocos2d-x 3.2 |飞机大战:飞机与子弹
- 【cocos2d-x 3.7 飞机大战】 决战南海I (五) 添加子弹
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 06.游戏界面 主角飞机产生子弹
- quick-cocos2d-x 飞机大战(打飞机)小demo教程------子弹类
- cocos2d-x笔记(七)Lua开发飞机大战-1-搭建开发环境
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 04.游戏界面 主角飞机的添加
- cocos2d-x笔记(八)Lua开发飞机大战-2-游戏加载界面
- cocos2d-x笔记(九)Lua开发飞机大战-3-背景图的滚动
- cocos2d-x笔记(十)Lua开发飞机大战-4-创建主角
- 飞机大战之三:添加子弹
- 【cocos2d-x入门实战】微信飞机大战之六:子弹层的处理
- 用Quick-Cocos2d-x 3.3简单开发微信打飞机 -03 添加爆炸动画和子弹与敌机的碰撞
- 飞机大战03之飞机发射子弹,添加敌人
- cocos2dx飞机大战Cocos2d-x飞机实现
- python之一(简明python教程新旧版勘误)
- python中关于import语句的认识
- 常数变易法_打印图形
- F 求最长公共字串 hash+二分
- java全排列
- cocos2d-x(十一)Lua开发飞机大战-6-添加子弹
- 在js中向场景中加入层并开启触摸
- oracle sqlserver mysql 比较
- Lesson_for_java_day14--java中的工具类:Collections和Arrays
- Leetcode: LRU Cache 理解分析
- hdu 1083 二分匹配
- 【读书笔记】iOS应用逆向工程-分析与实践(第一章)
- class常量池陷阱-百看不如一战
- 计算机系统知识(一)—海明码