![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
cocos2dx
cocos2dx引擎开发
科院唐大大
一入ET深似海 从此节操是浮云
展开
-
Cocos2d经典面试题(二)
Cocos2d经典面试题(二)1.在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”?答案:C++语言支持函数重载,C语言不支持函数重载.函数被C++编译后在库中的名字与C语言的不同.假设某个函数的原型为:void foo(int x,int y);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像foo_int_int之类的名字.C++提供了C连接交换指定符号extern “C”来解决名字匹配的问题;2.#define DOUBLE(x) x+x,原创 2020-07-06 15:27:30 · 1160 阅读 · 0 评论 -
cocos2dx-学习笔记(总)
#1.渲染框架1.导演与层1.导演Director-Ref(单实例类)2.层Layer-Node节点-Ref2.重点:将节点2设置为节点1的子节点的方法:节点1->addChild(节点2);3.Node的设置/获取属性的方法:1.设置/获取位置:setPosition/getPosition(设置位置时,如果有父节点,则是以父节点内容左下角坐标为坐标系原点,与父节点锚点无关)2.设置/获取旋转:setRotation/getRotation3.设置/获取原创 2020-06-11 09:52:28 · 936 阅读 · 0 评论 -
cocos2dx--瓦片地图(对象层)
cocos2dx–瓦片地图(对象层)1:创建对象层----对象层作用:存储数据(存储出怪点/怪物行走路径/建塔区)快捷键:Ctrl+移动:以图块格子为单位移动Ctrl+缩放:以左上角等比缩放Shift+缩放:以中心点缩放Ctrl+shift+缩放:以中心等比缩放2:获取对象层-----逻辑:得到所有对象层的对象 ,根据位置和类型来创建怪物1:获得一某一个对象:getObject(参数:对象名 返回值:ValueMap(键值对))2:获得所有对象 :getObjects(返回值:v原创 2020-06-08 11:42:15 · 611 阅读 · 0 评论 -
cocos2dx--瓦片地图(键盘移动推箱子游戏)
cocos2dx–瓦片地图(键盘移动推箱子游戏)1:瓦片地图编辑器云盘地址 和 资源图片链接 :https://pan.baidu.com/s/15-W4LUsQ5mHHpNWI1xwzEA提取码:uf4i2:新建瓦片地图:文件–>新文件3:导入地图图片:地图–>新图块–> 浏览5:编辑地图:点击箭头指向的按钮–>添加图层–>命名为game (右下角的图片直接选中,再拖拽到图片每一个瓦片中)6:最后命名为保存到工程的Resources文件下,前面资源原创 2020-06-05 23:01:21 · 677 阅读 · 0 评论 -
cocos2dx---游戏摇杆类(观察者模式控制英雄移动)
cocos2dx—游戏摇杆类(观察者模式控制英雄移动)1:摇杆类:JoyStick+ 共有继承 public cocos2d::ui::Widget+ 观察者模式2:成员函数//头文件 #include "ui/CocosGUI.h" #include"cocos2d.h"//成员 cocos2d::ui::ImageView* stick; float radius;//半径 cocos2d::Vec2 originPos;//摇杆起始坐标 bool isTouch;/原创 2020-06-05 09:19:03 · 414 阅读 · 0 评论 -
cocos2dx--添加技能冷却(观察者模式)
cocos2dx–添加技能冷却(观察者模式)技能按钮类:继承与按钮类观察者模式(一对多的关系):(实质实现就是函数指针)1:监听器(观察者)2:回调函数1:创建技能类,共有继承Button(头文件:#include"ui/CocosGUI.h")class SkillButton:public cocos2d::ui::Button2:create函数SkillButton* SkillButton::create(float coldTime,const std::st原创 2020-06-03 22:11:12 · 251 阅读 · 0 评论 -
cocos2dx--内存管理机制-控制链表销毁的重复利用
cocos2d内存管理机制1:引用计数Sprite --Node --RefLayer --Node --RefScene --Node --RefDirector–ref2:retain:引用计数+1release:引用计数-1,当引用计数为0时,释放内存autoRelease:加入到自动释放池(这一帧绘制结束后在所有自动释放池中的引用计数全部减1)ratain和release /autoRealse 必须搭配使用3:create (new -autoRealse):引用计原创 2020-06-01 17:23:34 · 231 阅读 · 0 评论 -
cocos2dx--简单的贪吃蛇实现,键盘控制方向
课程26–贪吃蛇+类模板1:准备好自己的素材-图片自己PS剪切一下2:创建一个蛇头和蛇尾巴#pragma once#ifndef Snake_h#define Snake_h#include<stdint.h>#include "cocos2d.h"#include<list>//枚举--方向enum Dir{ UP, DOWN, LEFT,...原创 2020-04-24 21:09:59 · 731 阅读 · 0 评论 -
cocos2dx--创建滑动窗口进行选择窗口
cocos2dx–创建滑动窗口进行选择窗口看不懂的先看上一篇博文,上一篇是操作,这一步是具体的代码实现点击查看上一篇博文1:在AppDelegate.cpp的init()中添加相对的搜索路径//添加相对的搜索路径:1:相对路 2:是否将搜索路径排到最前面 FileUtils::getInstance()->addSearchPath("res/",true);2:加载头文件#...原创 2020-04-24 21:05:32 · 324 阅读 · 0 评论 -
cocos2dx--创建滑动窗口,供用户选择(在cocos stdio中)
cocos2dx–创建滑动窗口(在cocos stdio中)1:自己先找好素材,中间这个是滚动容器,2:创建好选择框的层,记得中间为按钮,3:加载文件 helloworld.cpp init()//加载文件--choicLayer.csb文件 Node* root= CSLoader::createNode("scenes/start/layers/ChoiceLayer.csb")...原创 2020-04-24 21:01:48 · 448 阅读 · 0 评论 -
cocos2dx--cocos studio工具的使用
cocos2dx–cocos studio工具的使用一般使用这个工具,主要是为了节省在cocos2dx中布局的时间。核心代码还是要自己来写,这个工具就是在可视化界面上操作,操作起来就省掉了很多不必要的基础代码,1.资源 - 右键 - 导入资源2.资源 - 右键 - 新建文件(.csd)(图层/节点)3.创建对象:创建精灵:将图片拖入图层中创建按钮:控件 - 按钮拖入到层上,再编辑背景样...原创 2020-04-24 20:56:01 · 596 阅读 · 0 评论 -
c++ socket cocos2dx--开启新的线程接收来自服务端的消息
c++ socket cocos2dx–开启新的线程接收来自服务端的消息1:我们现在大部分都是vs2017 或者vs2019了。基本都是支持c++11,相对来说,开辟新的线程太方便了1.1引用头文件#include <thread>1.2创建线程(一般我就在初始化中创建,看个人怎么使用吧) std::thread t1(&LoginScene::receive, t...原创 2020-04-08 10:01:53 · 342 阅读 · 0 评论 -
coco2dx--场景切换(非压栈)
coco2dx–场景切换(非压栈)1:场景切换是游戏中很常见一般常见就是压栈和非压栈,压栈的话,消耗内存,非压栈的话,就是场景替换,我们这里采用的非压栈的方法,如需要压栈的话,后续更新~2:创建好准备切换的场景层,以我这里为例,我是直接通过按钮点击,跳转到场景暂停层,然后在暂停层通过吞噬触摸,把原来的层覆盖,在暂停层点击按钮跳转新的场景,例如游戏中常见的继续游戏,重新开始游戏,我这里只是以重...原创 2020-03-27 19:31:17 · 209 阅读 · 0 评论 -
cocos2dx--自定义事件监听器--控制游戏分数
cocos2dx–自定义事件监听器–控制游戏分数这个主要是来通过监听事件来控制敌人的分数,比如敌机死亡,就发一条消息过来,然后这边接受到消息了,就会调用加分的方法,对分数的文本重新设置1:创建自定义监听事件//自定义事件监听器 //监听敌人死亡的消息--加分 //1:添加自定义事件监听器 _eventDispatcher->addCustomEventListener...原创 2020-03-27 17:19:08 · 518 阅读 · 0 评论 -
cocos2dx--给游戏添加分数显示--创建分数文本
cocos2dx–给游戏添加分数显示1:前提准备好分数的图片文件2:引用头文件#include "ui/CocosGUI.h"//ui头文件using namespace cocos2d::ui;//ui命名空间3:创建分数文本:(其中score自己定义一个变量) //创建分数文本:1:显示的文本,2图片的路径,3字符宽度,4:字符高度,5:第一个字符//std::to_stri...原创 2020-03-27 17:11:06 · 1084 阅读 · 0 评论 -
cocos2dx--UI系统--添加游戏暂停继续按钮
cocos2dx–UI系统–添加游戏暂停继续按钮导演:Director::getInstance()1:暂停:pause()//只暂停与时间有关的内容(例如:调度器/动作等)2:恢复:resume()//只恢复与事件有关内容3:结束:end();1:UI系统:user iinterface(用户界面)UI控件:按钮,文本,输入框,滚动条,滑动条,血条等;2:引用头文件#includ...原创 2020-03-24 17:37:02 · 779 阅读 · 0 评论 -
cocos2dx-精灵的移动跳跃
精灵的移动和跳跃1:精灵的移动-两种方式 //移动1 时间,指定位置 ActionInterval* moveTo = MoveTo::create(2.0f, ccp(200, 200)); kerry->runAction(moveTo); //移动2 ...原创 2020-03-21 01:26:58 · 539 阅读 · 0 评论 -
cocos2dx--使用缩放功能对精灵进行缩放
cocos2dx–使用缩放功能对精灵进行缩放Size winSize = Director::sharedDirector()->getVisibleSize(); Sprite* kerry = Sprite::create("image/ball.png"); kerry->setPosition(ccp(150, 150)); //缩放1--对指定的对象进行放大,不能进行...原创 2020-03-21 01:24:04 · 1071 阅读 · 0 评论 -
cocos2dx--如何使用Web View用来打开设定的网页
cocos2dx–使用Web View用来打开设定的网页1:引用头文件#include<ui/CocosGUI.h>2:创建Web viewauto webview=cocos2d::experimental::ui::Webview::create();webview->setContentSize(visibleSize);//铺满屏幕webview->s...原创 2020-03-21 01:22:40 · 635 阅读 · 0 评论 -
cocos2dx--使用UIVideoPlayer控件进行播放视频
cocos2dx–使用UIVideoPlayer控件进行播放视频1:引用头文件#include<ui/CocosGUI.h>2:创建一个播放器auto vp=cocos2d::experimental::ui::VideoPlayer::create();vp->setContentSize(visibleSize);//铺满屏幕vp->setPosition...原创 2020-03-21 01:20:38 · 1165 阅读 · 0 评论 -
cocos2dx--物理引擎场景中创建一个物理边框并添加一个物理小球
cocos2dx–物理引擎场景中创建一个物理边框1:创建一个物理边框void HelloWorld::addEdges(){ //获取屏幕宽和高 Size visibleSize = Director::getInstance()->getVisibleSize(); //创建一个边界框 最后一个为边界框的宽度 auto body = PhysicsBody::create...原创 2020-03-21 01:17:49 · 504 阅读 · 0 评论 -
cocos2dx-物理引擎的场景创建
cocos2dx-物理引擎的场景创建1:修改scence里面即可,把前面两句注释掉,加一个创建和调试的即可Scene* HelloWorld::createScene(){ // 'scene' is an autorelease object // auto scene = Scene::create(); //创建物理场景引擎 auto scene = Scene::...原创 2020-03-21 01:15:10 · 219 阅读 · 0 评论 -
cocos2dx-如何添加和开启帧动画
cocos2dx-帧动画1:帧动画:一帧一帧的播放Animation:Animation* ani = Animation::create();2:添加所有精灵帧for (int i = 0; i < 帧数; i++){ani->addSpriteFrameWithFile(图片路径);}3:设置播放动画属性ani->setDelayPerUnit(间隔时间)...原创 2020-03-21 01:12:15 · 503 阅读 · 0 评论 -
cocos2dx-动作-回调函数-组合动作-序列动作
cocos2dx-动作-回调函数-组合动作-序列动作1.所有动作的基类:Action (类名::create)2.执行动作:节点->runAction(Action*);-ActionInstant(即时动作) Action(动作) 3.1- FiniteTimeAction(有限时间动作) 3.2- ActionInterval(持续动作)4.即时动作:指能够立刻完成...原创 2020-03-21 01:08:58 · 528 阅读 · 0 评论 -
COCOS2DX如何在一个类的方法调用另外一个类的方法
COCOS2DX如何在一个类的方法调用另外一个类的方法1:首先想到的是创建对象进行调用新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流...原创 2020-02-09 01:31:51 · 682 阅读 · 0 评论