博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d入门--3--小球运动
阅读量:5824 次
发布时间:2019-06-18

本文共 1937 字,大约阅读时间需要 6 分钟。

hot3.png

本章直接上源代码。内容不难,主要就是

HelloWorldScene.h文件:

1 #ifndef __HELLOWORLD_SCENE_H__ 2 #define __HELLOWORLD_SCENE_H__ 3  4 #include "cocos2d.h" 5  6 class HelloWorld : public cocos2d::Layer 7 { 8 protected: 9     float _angle;10     cocos2d::Vec2 _vec;11 public:12     static cocos2d::Scene* createScene();13 14     virtual bool init();15     16     // a selector callback17     void menuCloseCallback(cocos2d::Ref* pSender);18     19     // implement the "static create()" method manually20     CREATE_FUNC(HelloWorld);21     22     virtual void update(float dt);23 private:24     //获取屏幕可视范围25     float width_L;26     float width_R;27     cocos2d::DrawNode* ball;28 };29 30 #endif // __HELLOWORLD_SCENE_H__

HelloWorldScene.cpp文件:

1 // on "init" you need to initialize your instance 2 bool HelloWorld::init() 3 { 4     // 5     // 1. super init first 6     if ( !Layer::init() ) 7     { 8         return false; 9     }10     11     Size visibleSize = Director::getInstance()->getVisibleSize();12     Vec2 origin = Director::getInstance()->getVisibleOrigin();13     width_L = origin.x;14     width_R = origin.x + visibleSize.width;15     16     ball = DrawNode::create();17     ball -> drawDot(Vec2(0, 0), 4, Color4F(1.0f, 1.0f, 1.0f, 1.0f));18     19     addChild(ball);20     ball -> setPosition(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2);21     22     //action相关的运动我们一般不是用来做游戏的运动,一般用来做游戏的变化效果。因为action不能很好的用来表现出游戏的效果23 //    dot -> runAction(RepeatForever::create(MoveBy::create(0.2, _vec*100)));24     //25     scheduleUpdate();26     return true;27 }28 29 void HelloWorld::update(float dt){30     ball -> setPositionX(ball->getPositionX()+5);31     if (ball->getPositionX()
getContentSize().width/232 || ball->getPositionX()>width_R+ball->getContentSize().width/2) {33 ball->setPositionX(-ball->getContentSize().width/2);34 }35 }

然后实现的效果:

 

 
 

转载于:https://my.oschina.net/u/2363463/blog/635972

你可能感兴趣的文章
Event事件的兼容性(转)
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>
python 异常
查看>>
百度账号注销
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>