Cocos 2d-x 学习第三天

来源:互联网 发布:南京擎天科技知乎 编辑:程序博客网 时间:2024/04/29 20:46

创建飞机类和子弹类之后

实现子弹的连续生成与移动

监听飞机类

飞机跟随鼠标移动

auto listener1 = EventListenerTouchOneByOne::create();listener1->setSwallowTouches(true);listener1->onTouchBegan = [](Touch* touch, Event* event){auto target = static_cast<Sprite*>(event->getCurrentTarget());Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation());Size s = target->getContentSize();Rect rect = Rect(0, 0, s.width, s.height);if (rect.containsPoint(locationInNode)){return true;}return false;};listener1->onTouchMoved = [](Touch* touch, Event* event){Size visibleSize = Director::getInstance()->getVisibleSize();auto target = static_cast<Sprite*>(event->getCurrentTarget());<span style="white-space:pre">target->setPosition(target->getPosition() + touch->getDelta());</span><span style="white-space:pre"></span>};<pre name="code" class="plain"><span style="white-space:pre"></span>_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, p11);

然后判断边界 是飞机无法拖出屏幕外


子弹跟随飞机移动改变发射点:

在飞机类中:

静态创建一个类  

static Plane* getInstance();

静态创建一个对象

static Plane* plane;

创建一个函数 返回一个节点

Node* getPlane();

创建一个精灵获取飞机属性

Sprite* plane1;


创建飞机对象时调用静态创建

返回plane


创建子弹类时把飞机对象穿进去

在子弹类中就可以用getPlane函数取到对应的飞机属性



0 0
原创粉丝点击