最近很多游戏都喜欢房卡类的游戏,就是创建房间时(),选择玩法与规则,今天耗费2小时处理这个数学问题:例如选择规则两条,则背景框中间显示两条规则,若选择三条,则背景框中间显示三条规则与玩法,依次从中间往上下两边排列: 首先要先创建一个精灵的容器,把需要显示的精灵 push_back 进去,然后用一个for循环才好一次性处理. int count = m_ruleSprites.size();// for (int i = 0;i < m_ruleSprites.size(); i++) { if(…
//this.ShowImg[i] 需要排列什么就push加进数组里面,一个for循环计算即可 var size = this.ShowImg.length;var count = size; for(var i=0;i<size; i++){ count--; var a =count; this.ShowImg[i].setVisible(true); this.ShowImg[i].setPositionX(800 + 80*(a-1)-(i*80)); //800为屏幕(父节点)X轴的中…
每一个游戏程序都有一个循环在不断运行,他是由导演对象来管理和维护. 如果需要场景中的精灵运动起来,我们可以在循环中使用定时器(Scheduler)对精灵等对象的运行进行调度 因为Node中封装了 Scheduler 类,所以我们可以直接使用Node中定时器相关函数 schedulerUpdateWithPriorityLua ( nHandler , priority) --每个Node对象只要调用该函数,那么这个Node对象就会定时的每帧调用一次nHandler 函数,priority是优先级…
点击移动是游戏里面常用的操作,那么在Cocos2d-x里面可以通过setTouchEnabled(true)方法来设置接收屏幕的点击事件,然后添加ccTouchesEnded(CCSet* touches, CCEvent* event)方法处理点击后的操作,在方法体里面就可以获取点击的位置,然后通过动画的方式来移动精灵. 代码示例: //在init方法里面初始化当前的实例 bool HelloWorld::init() { bool bRet = false; do { //CCLayer进行…
帧动画-手动切换帧-批次渲染处理动画-纹理图片的本质 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
cocos2d-x来源合计文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.准备工作 想弄懂可循环的CCscrollView,首先请阅读cocos2d-x本身的CCscrollView源代码http://blog.csdn.net/u011225840/article/details/30033501(我已经加入凝视.方便阅读). 2.源代码展示 由于源代码我想放到git上,所以凝视都是用的英文.假设这部分源代码有人有问…
void FriendFightLayer::update(float dt) { dealWithPacket(dt); if (m_isNeedSwitchToLobby) { PublicMethod::changeToLobby(); } } void FriendFightLayer::dealWithPacket(float dt) { RakNet::Packet* packet = g_net.getNewPacket(); if (packet == NULL) { retur…
精灵类即是Sprite,它实际上就是一张二维图. 它首先直接继承了Node类,因此,它具有节点的特征,同时,它也直接继承了TextureProtocol类,因此,它也具有纹理的基本特征. 这里,有必要普及一下纹理的含义.个人理解,纹理在这里其实也是二维图像(当然也有三维的纹理),它描述了物体表面的细节,通过某种投影或者映射的方式,让物体本身看起来更加的细腻和真实.换一句话说,纹理就是对物理表面细节的描述,它的存在将物体整体和细节区分开来,因此,可通过修改细节可以改变物体的使用场景.(啰嗦了) 或…
1.在游戏开发中,帧率很大程度上体现了游戏的流畅度,帧循环是游戏中一个很重要的概念 2.下面用伪代码实现了cocos2dx中的帧循环 /*main函数调用*/ CCApplication::sharedApplication()->run(); /*游戏真正的入口,完成精灵的布置和场景的初始化*/ applicationDidFinishLaunching(); /*帧循环开始*/ ) { CCDirector::sharedDirector()->mainLoop(); /*绘制场景*/ d…
一.游戏主循环 在介绍游戏基本概念的时候,我们曾介绍了场景.层.精灵等游戏元素,但我们却故意避开了另一个同样重要的概念,那就是游戏主循环,这是因为 Cocos2d 已经为我们隐藏了游戏主循环的实现.读者一定会对主循环的作用有疑问,为了解答这个问题,我们首先来讨论游戏实现的原理. 游戏乃至图形界面的本质是不断地绘图,然而绘图并不是随意的,任何游戏都需要遵循一定的规则来呈现出来,这些规则就体现为游戏逻辑.游戏逻辑会控制游戏内容,使其根据用户输入和时间流逝而改变.因此,游戏可以抽象为不断地重复以下动作…