cocos2dx实现单机版三国杀(一)】的更多相关文章

接上续,东西还没有做完 所以代码免不了改动 之前的头文件现在又改了不少,因为架构也改变了现在主要类就是GameScene.GameUI.PlayInfo.Poker这四个类  前面想的GameLoop 已经被弃 目前除了身份.武将等相关的高级功能还没添加,基本功能只剩下 出牌策略没做了. 贴一下GameUI新的头文件 #pragma once/*主游戏界面UI */ #include "cocos2d.h"#include "ui/CocosGUI.h" USING…
首先需要一个UI交互类 GameUI   -layer 一个游戏驱动类,负责游戏逻辑的循环 暂时定为GameScene- scene GameScene obj 调用update 更新游戏,addchild gameUI obj 呈现UI. 上面的都是cocos2d 类 下面需要一些辅助类 比如 PlayerInfo 玩家信息类,存储玩家信息:Poker 类 负责构建我们的牌(主要是显示在 gameui obj 上). gamescene obj  负责更新 playerinfo obj dat…
安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplication.cpp: void CCApplication::openURL(const char* pszUrl) { JniMethodInfo minfo; if (JniHelper::getStaticMethodInfo(minfo, "org/cocos2dx/lib/Cocos2dxAc…
前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引擎之前,我们可以不那么方便地在我们创建的工程里调试Cocos2d-x的代码,当我们使用了整合后的Cocos引擎,调试Cocos2d-x的代码就变得更加,非常不方便了! 使用Cocos2d-x创建的项目,在最先的版本必须是在Cocos2d-x引擎的目录下,放到其他的位置需要进行各种麻烦的设置,诸如头文…
使用任何版本的Cocos2d-x(1.x,2.x,3.0),在onEnter中调用addChild,都要小心谨慎,因为它有可能导致两种莫名其妙的BUG,莫名其妙的BUG当然难以定位了!更何况这个BUG隐藏在引擎的底层. 接下来是场景还原: 在某个节点下,需要执行这样一段逻辑,在游戏场景中,添加几个节点,由于游戏场景就是该节点的父节点,于是就直接getParent然后调用父节点的addChild,在onEnter函数中添加看上去比较合适,因为这时候该节点的父节点可以访问,而在init函数中,还没有…
Cocos2dx中线程优先级问题 不论是ios还是android,遇到耗时的任务都要另起线程处理,否则程序不能及时用户的反馈.游戏中如果一圈循环不能在1/frameRate(帧率是30则1/30)秒内完成,就会有掉帧,游戏卡顿.比如,游戏中要解析一个动画json配置,需要60ms,这如果在主线程中搞就掉帧了,那么另再开个线程解析json,解析完了再通知主线程如何?这是可以的,但是考虑一种极端情况,线程切换到json解析线程,直到json解析完成后才切换到主线程,这不是一样掉帧吗!所以理想情况是让…
今天写了 cocos2d-x事件EventListenerTouchOneByOne,发现死活没反应,原代码复制到新工程没问题啊, 后来发现cocostudio用的基础容器(ccui.Layout:create())默认是可交互性的,导出lua发现setTouchEnabled(true); 设置可触摸是true,这就明了拉,是Layout(继承Widget)挡住了事件下发了,按照cocos2d-x事件的原理看了C++源码,发现: void Widget::setTouchEnabled(boo…
cocos2d-x 3.5后使用luasocket:local SOCKET = require "socket"; 结果运行就报错:[LUA-print] USE " cc.exports.socket = value " INSTEAD OF SET GLOBAL VARIABLE lua禁用全局变量 解决办法:在require "cocos.init"之前引入require "socket"; 即可, 代码: cc.Fi…
Cocos2d-x内存管理 老师让我给班上同学讲讲cocos2d-x的内存管理,时间也不多,于是看了看源码,写了个提纲和大概思想 一.   为什么需要内存管理 1. new和delete 2. 堆上申请的内存作用于整个程序,而不是一个两个函数之内 3. 渲染树和整个游戏循环->引导出内存管理(全局变量,局部变量,和堆上申请的变量比较) 注:游戏循环:可以看作一种死循环 绘制 自动释放池的计数管理 绘制:包括时间调度,绘制结点等等 if (_purgeDirectorInNextLoop) { _…
这个东西很烦人,相信很多人都不理解 今天来总结一下,首先有很多概念都要事先弄得清楚明白 1.屏幕分辨率 所谓屏幕分辨率相信很多人都知道他的概念,不就是1280pxX720PX吗?不就是这种形式吗?有什么难的,这几个词在各种手机评测上面不是已经用烂了吗? 可是很多人都没有真正理解这个概念!!! 1280pxX720px 它的意思是纵向1280个像素,横向720个像素. 记住!只是像素而已,和尺寸,和大小,和比例没有半毛钱的直接关系 我一直都以为为什么这个东西要叫做屏幕分辨率,为什么要叫做分辨率?之…