![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2dx
mr.chenyuelin
纯属为个人笔记
展开
-
cocos2dx-9.键盘事件-实现精灵的连续移动
用map 来存放按键的状态是不是按压中std::map<cocos2d::EventKeyboard::KeyCode, bool> keyMap;this->scheduleUpdate();void SecondScene::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event){ keyMap[keyCode] = true; switch (keyCode) { case EventKeyboard::原创 2020-12-08 21:17:43 · 791 阅读 · 0 评论 -
cocos2dx-简单的飞机大战
1.先要为飞机创建触摸移动事件auto listener = EventListenerTouchOneByOne::create(); listener->onTouchMoved = CC_CALLBACK_2(SecondScene::onTouchMoved, this); listener->onTouchBegan = CC_CALLBACK_2(SecondScene::onTouchBegin, this); listener->onTouchEnded = CC_原创 2020-12-03 17:22:45 · 667 阅读 · 0 评论 -
cocos2dx-7.定时器
1.系统默认的定时器this->scheduleUpdate();将会自动调用我们定义的update方法,以每帧的速度显示2.用户自定义的定时器this->schedule(schedule_selector(HelloWorld::jump), 1.0f,5,3.0f);参数:1.自定义方法2.间隔时间3.执行次数4.延迟时间(3s后执行)3.执行一次的定时器this->scheduleOnce(schedule_selector(HelloWorld::jump),原创 2020-11-29 21:43:46 · 129 阅读 · 0 评论 -
cocos2dx-6.帧动画
大致步骤:1.先创建SpriteFrame数组2.然后利用矩形截取或者图片缓冲池创建每一帧并加入数组3.用Animation完成帧动画的设置,并加入Animate对象1.利用精灵帧的图片截取矩形来创建 Sprite* sprite = Sprite::create("donhua/1.png"); SpriteFrame* frame = NULL; Vector<SpriteFrame*>aniframe; for (int i = 1; i <= 7; i++) {原创 2020-11-29 20:47:59 · 268 阅读 · 0 评论 -
cocos2dx-5.动作
重点:CCActionInstant为立即动作,CCActionInterval为持续动作。CCFollow为镜头跟踪,CCSpeed为修改node执行速度1.CCActionInstantFlipX:在X轴方向上旋转FlipY:在Y轴方向上旋转 Sprite* a = Sprite::create("pig.png"); Sprite* b = Sprite::create("pig.png"); a->setPosition(ccp(150, visibleSize.height .原创 2020-11-29 11:53:52 · 165 阅读 · 0 评论 -
cocos2dx-4.文本
1.普通文本: LabelTTF* label = LabelTTF::create("Hello World","Felt",24); label->setString("Hello");//改变文本内容 label->setPosition(ccp(visibleSize.width/2,visibleSize.height/2)); this->addChild(label);2.使用bmfont工具生成.fnt文件和png,这里我直接给出我自己生成的文件,自己弄有点丑。原创 2020-11-27 18:45:55 · 2149 阅读 · 0 评论 -
用bmfont工具生成.fnt文件,但合成图片会分开问题
网上bmfont的入门教程挺多的,可以自己找一篇。看到荧光笔那里了吗,这里合成后的图片要大小改大一点,因为网上找的素材都挺大的,因为这是美工的事(要跟她讲分辨率大小),网上素材也好少,找了一个小时才发现。...原创 2020-11-27 16:51:26 · 315 阅读 · 0 评论 -
cocos2dx-3.菜单
大致来看,从左往右分别是文字菜单,精灵菜单,切换菜单//字体菜单 LabelTTF * menettf = LabelTTF::create("hello", "fonts / arial.ttf", 50); MenuItemLabel *labelitem = MenuItemLabel::create(menettf,this,menu_selector(HelloWorld::menuCloseCallback)); labelitem->setPosition(ccp(visibl.原创 2020-11-26 20:49:26 · 137 阅读 · 0 评论 -
cocos2dx-2.创建精灵
创建精灵的方式1.一个普通精灵 auto visibleSize = Director::getInstance()->getVisibleSize();//获取屏幕大小 Vec2 origin = Director::getInstance()->getVisibleOrigin(); //在处理相对位置时,确保节点在不同分辨率下的位置一致 auto layer = LayerColor::create(ccc4(0, 200 ,255 ,255)); this->原创 2020-11-26 16:55:54 · 161 阅读 · 0 评论 -
cocos2dx-1.场景切换
Director::getInstance()->replaceScene(TransitionFade::create(2.0f,SecondScene::createScene()));导演类通过getInstance()方法实例化对象,用replaceScene方法来切换场景,我这里选择的切换方法为TransitionFade,第一个参数为切换时间,第二个为场景。另一种方式 // FirstScene中 Director::getInstance()->pushScene原创 2020-11-26 09:07:42 · 244 阅读 · 0 评论 -
cocos2dx之背景滑动
细节均在代码中注释,如下bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } Size screensize = Director::getInstance()->getVisibleSize(); Point orignsize = Director:原创 2020-07-23 15:47:24 · 190 阅读 · 0 评论