- 博客(13)
- 收藏
- 关注
原创 cocos2d实现SlotMachine(老*虎*机)
实现一个四个转子,每个转子有五个花色的老*虎机。转子的转动实现原理很简单,和背景图无限滚动的原理是一样的:排成列的精灵在屏幕上向上滚动,再通过裁剪结点的裁剪就造成了转子滚动的效果。 1 void LayerSlotMachine::on_btn_roll(CCObject* pSender, CCControlEvent event) 2 { 3 if (!flag_
2014-12-20 20:24:01 806
原创 借助CCAction实现转盘抽奖
借助cocos2dx自带的CCMoveBY和CCEaseInOut实现目前流行的转盘抽奖效果。 创建一个辅助结点node_projection_,将转盘中被选中的精灵的序号pos与node_projection_的X坐标建立映射关系。当node_projection_执行CCMoveBY时,通过在每帧执行的回调函数roll_update(float dt)去刷新转盘中精灵的状态。而no
2014-12-20 20:23:57 292
原创 cocos2d滑动碰撞检测的实现
最近在做一个类似切水果的小游戏,需要检测手在屏幕上是否划到了园形的精灵。 对于圆形的碰撞检测还是很容易的:当触点到圆心的距离小于等于圆的半径时,结果为真。void MGame::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent){ CCPoint p1 = spr_ball_->convertTouchToNodeSpa
2014-12-20 20:23:52 367
原创 cocos2dx扩展CCAction实现精灵抛物线运动
在不使用物理引擎的情况下,模拟物体在重力作用下的抛物线运动(忽略空气阻力)。给出运动起始点位置,终点位置,重力加速度g,起始点的发射角作为参数。 先根据已知条件求出物体在x轴和y轴上的初速度,再根据公式f(t)=v0t+0.5*at2 求出运动轨迹。 类CCParabolaMove继承自CCAction。 1 CCParabolaMove* CCParabolaMov
2014-12-20 20:23:47 375
原创 cocos2dX改变锚点位置
改变锚点时,同过计算偏移量修正position从而保持CCNode在屏幕上的位置不变 1 void CLayer::change_anchorpoint(CCNode* node,CCPoint newpt) 2 { 3 float dx, dy, diffx, diffy, height, width; 4 width = node->getConten
2014-12-20 20:23:42 484
原创 Admob插页广告的添加
在cocos2dx中加入Admob插页广告,不能用JNI直接调用if (interstitial.isLoaded()) { interstitial.show(); }显示插页广告的函数必须在mainUIThread中调用。否则会报错:IllegalStateException: XXXX must b
2014-12-20 20:23:37 434
原创 cocos2dx加Admob不显示的解决方法
cocos2dx2.2.3按照官方文档加入Admod.启动应用在eclipse日志显示“Ad finished loading”,但是界面中不显示广告,只有通过锁屏后重新点亮屏幕时能够显示。经过Google解决方案如下1 adView.loadAd(adRequest);2 adView.setBackgroundColor(Color.BLACK);3 add
2014-12-20 20:23:33 298
原创 cocos2dx安卓客户端接入移动MM付费SDK
C++和java的调用需要使用JNI,这里使用cocos2dx提供的JniHelper就可以满足要求。以游戏中购买炸弹道具为例流程图: 先按照文档进行配置;在Java工程中新建一个包"IAP",作为C++与mmsdk交互的中间层;Handler和Listener可以使用Demo自带的两个类,将Demo2.4.2中的IAPHandler.java和IAPListener.
2014-12-20 20:23:28 426
原创 cocos2dx实现环形角色选择界面
数据结构采用双向循环链表。由候选角色组成链表的节点,将链表中的节点在屏幕上按照椭圆分布。 .h: 1 //链表节点——候选角色 2 class CandidateRole :public CCNode{ 3 public: 4 CandidateRole(); 5 ~CandidateRole(); 6 virtual bool init(c
2014-12-20 20:23:23 434
原创 int整数型转换char*字符串
1 int num;2 num=190;3 char StringOfNum[20]; 4 sprintf(StringOfNum,"%d",num);可以使用sprintf转换。
2014-12-20 20:23:19 512
原创 用Genymotion虚拟机运行cocos2dx应用
配置好Genymotion虚拟机后,运行cocos2dx的应用时会崩溃,报"unfortunately stop"一、要将libcocos2dcpp.so 编译成x86架构:在proj.android/jni/Application.mk文件中加入APP_ABI := armeabi x86二、 在/cocos2dx/platform/android/java/src
2014-12-20 20:23:14 246
原创 更换节点的父节点
1 child->retain();//引用计数+12 3 child->removeFromParent(); 4 5 root->addChild();6 7 child->release(); //引用计数-1需要注意的是retain()和release(),如果在卸载节点前不调用retain的话会导致报错CCAssert( child->m_pPar
2014-12-20 20:23:11 340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人