大佬教程收集整理的这篇文章主要介绍了Cocos2d-3.x_基本数据类型(cocos2d::Vector),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#ifndef __Ball_H_INCLUDE__ #define __Ball_H_INCLUDE__ #include "cocos2d.h" USING_NS_Cc; class Ball : public cocos2d::Sprite { public: virtual bool init(); void move(); CREATE_FUNC(Ball); private: float positionX; float positionY; }; #endif
#include "Ball.h" bool Ball::init() { if (!Sprite::initWithFile("ball.png")) { return false; } positionX = CCRANDOM_0_1() * 10 - 5; positionY = CCRANDOM_0_1() * 10 - 5; return true; } void Ball::move() { this->setPosition(Vec2(this->getPositionX() + positionX,this->getPositionY() + positionY)); }
#ifndef __HelLOWORLD_SCENE_H__ #define __HelLOWORLD_SCENE_H__ #include "cocos2d.h" #include "Ball.h" USING_NS_Cc; class HelloWorld : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); virtual void update(float dt); void addBall(float dt); CREATE_FUNC(HelloWorld); private: cocos2d::Vector<Ball *> balls; }; #endif // __HelLOWORLD_SCENE_H__
#include "HelloWorldScene.h" Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Vec2 origin = Director::geTinstance()->getVisibLeorigin(); this->schedule(schedule_SELEctor(HelloWorld::addBall),0.1f); this->scheduleupdate(); return true; } void HelloWorld::addBall(float dt) { Size visibleSize = Director::geTinstance()->getVisibleSize(); Ball *ball = Ball::create(); ball->setPosition(Vec2(visibleSize.width / 2.0,visibleSize.height / 2.0)); this->addChild(ball); balls.pushBACk(ball); } void HelloWorld::update(float dt) { Size visibleSize = Director::geTinstance()->getVisibleSize(); Ball *ball = NULL; for (auto iter = balls.begin(); iter != balls.end(); iter ++) { ball = *iter; ball->move(); if (ball->getPositionX() > visibleSize.width || ball->getPositionX() < 0 || ball->getPositionY() > visibleSize.height || ball->getPositionY() < 0) { balls.eraseObject(ball); ball->removeFromParentAndCleanup(true); ball = NULL; break; } } }
以上是大佬教程为你收集整理的Cocos2d-3.x_基本数据类型(cocos2d::Vector)全部内容,希望文章能够帮你解决Cocos2d-3.x_基本数据类型(cocos2d::Vector)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。