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

本文共 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/635726

你可能感兴趣的文章
割点与桥
查看>>
51.字符串操作函数
查看>>
ASP.NET MVC5中View显示Html
查看>>
Eclipse连接到My sql数据库的操作总结/配置数据库驱动
查看>>
python 将unicode编码转换为汉字的几种方法
查看>>
服务器负载粗略估算
查看>>
Spring 中 ApplicationContext 和 BeanFactory 的区别
查看>>
3.28Day09函数
查看>>
Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明【转】
查看>>
Linux下安装Python-3.3.2【转】
查看>>
npm
查看>>
STL杂记
查看>>
LeetCode OJ:Merge Two Sorted Lists(合并两个链表)
查看>>
C-4 一个标准的学生类的代码及测试
查看>>
功能测试
查看>>
Rust的闭包
查看>>
【BZOJ 1901】Dynamic Rankings
查看>>
阿里架构师都在学的知识体系
查看>>
[Python]json 错误xx is not JSON serializable
查看>>
MVC用户验证
查看>>