游戏开发
cocos2d-x 标签描述

1、不调用autorelease()的情况         TestVO vo = new TestVO();         //未调用create()方法创建,没有执行过autorelease()         vo->init();      &nbs...

  sydjGYbSEYJR   2023年11月02日   54   0   0 cocos2d-xautorelease垃圾回收

Director是整个cocos2dx引擎的核心,是整个游戏的控制仪,游戏中的一些常用操作就是由Director来控制的,比如OpenGL ES的初始化,场景的转换,游戏暂停继续的控制,世界坐标和GL坐标之间的切换,对节点(游戏元素)的控制等,还有一些游戏数据的保存调用,屏幕尺寸的获取等都要由Director类来管理控制的。 在Cocos2dx中把统筹游戏大局的类抽象为导演(Director),会经常调用进行一些控制,所以该Director利用了单例设计模式。 通过前面我们创建的项目我们打开AppDelegate.cpp文件,可以发现里面在使用了Director的一些函数。 &...

从去年2014年初开始接触cocos2dx,中间做了一些小游戏,后来由于工作和生活的各种原因,逐渐不再做开发工作了,时隔一年多,在技术已经遗忘的时候,决定还是拾起来重新开始cocos2dx的学习,开始我的手游开发之路。 本博客只是本人的一些学习笔记,仅仅作为学习的复习和总结,不作为任何权威参考资料。 Cocos2dx的环境搭建,不再啰嗦,可以本人博客自行查找,另外网上这类教程已经泛滥了。 (参考本博客:windows7上搭建COCOS2D-X3.5开发环境 http://www.byjth.com/jichu/4.html) 工欲善其事必先利其器,下面介绍下本人的一些开发环境和工...

  IQdPh4ljaoZA   2023年11月02日   30   0   0 cocos2d-xwindows7cocos2dx引擎cocos2dx

--3d模型和3D动画的创建 require"Cocos2d" localSprite3DScene=class("Sprite3DScene",function()   returncc.Scene:create() end) --添加create函数 functionSprite3DScene:create()   localscene=Sprite3DScene.new()   scene:addChild(scene:init())  returnscene end --添加构造函数 functionSprite...

  thhXZYsU6mxB   2023年11月02日   61   0   0 3D动画cocos2d-x

        本文对于runOnGLThread方法的分析主要目的是为了帮助我的课程“拇指接龙游戏”学员更好地理解EasyNDK这个开源框架的使用。借助于这个框架,实现AndroidJAVA端与Cococ2d-xC端交互,以及iOSObjective-C端与Cococ2d-xC端交互将变得异常容易----极大地减少了相关的JNI编程与Objecive-C编程的代码量。但是,在EasyNDK的Android版本示例中在Java主Activity端存在如下代码段:    pub...

  iwbGD3gmtxyT   2023年11月02日   38   0   0 cocos2d-xrunOnUiThreadrunOnGLThread

一、节点类(Node)   任何要显示在屏幕上的的对象都是结点类,最常见的有场景(Scene),层(Layer),菜单(Menu)精灵(Sprite),菜单类是层的一个子类,层的初始化默认锚点是(0,0),精灵的默认锚点是(0.5,0.5)。一个层或一个精灵在它父类上的位置setposition()函数,其实指的是锚点的位置。并且node的旋转,缩放,平移各种action都是基于锚点来进行的。 二、导演类(Director)     Director类是cocos2D-x游戏引擎的核心,它用来创建并控制主屏幕的显示,游戏的开始,结...

  BcnZoOPhPkgA   2023年11月02日   57   0   0 cocos2d-x触摸穿透

先上效果图: 借鉴了[Cocos2d-x让精灵图像变灰的方法]。 但这个方法在Quick-Cocos3.2下不能完美实现变灰效果-变灰了的对象的位置会跳到屏幕右上角。 百思不得其解,搜一下有没有人发现这个问题,果然有: [关于Sprite的setShaderProgram后坐标改变的问题] 发现4楼的仁兄的回复有亮点: [如何在Cocos2d-x3.0中使用openglshader?] 点进去一看,内容是这样的: “坐标变化的解决了,将附件gray.vsh中的CC_MVPMatrix改为CC_PMatrix即可” 我估计应该是位置转换的矩阵问题吧,gray.vsh是什么下面会说...

  bBRVfPbvTgjj   2023年11月02日   43   0   0 cocos2d-xquick-x灰化对象quick-x

   欢迎回来,上篇我们讲到了物理引擎中重力环境模拟以及主角考拉与地面墙壁的碰撞,相信大家已经对2D世界的物理模拟有了一定的了解,现在我们接着讲如何让考拉动起来吧!     让考拉动起来!  这里控制考拉移动变得非常简单,它只有向前和跳两个能力(源码中我加了考拉向后走功能,建议大家自己加几个虚拟按键来实现更非富的功能)如果你按着屏幕左半部考拉会向前走,按住右半部考拉会跳起来(原文设定考拉不会后退-_-)。  我们需要在Player.h里加两个成员变量:  bool_for...

  qBDP77BClnFx   2023年11月02日   35   0   0 cocos2d-x马里奥动作游戏

   本文要实现飞机游戏中,人的手指按着飞机,就能拖着飞机走动,这里实现了当你手指按在手机的图片上,手指一直按着屏幕,飞机就会跟着你走。同时,还加入了边界判断条件,让飞机在你的视野内移动,实现的效果完全和我们手机上的飞机游戏一样。 效果: Cocos2d-x版本:3.4 工程环境:VS30213 一、代码编写 1、头文件GameMain.h / @作者 林炳文(邮箱:ling20081005@126.com) @博客 http://linbingwen.blog.51cto.com/ @时间 2015.3.8 @功能&nbs...

  8p3zi56tzurk   2023年11月02日   60   0   0 cocos2d-x精灵随手指移动

   本文翻译自国外著名IOS源码教学商业网站raywenderlich 的IOSGameStartKits三件套之一的PlatformerGame/平台动作游戏的前奏曲,另一个是Beat'EmupGame/横版格斗游戏,作者是国外著名游戏开发专家JakeGundersen,曾参与开发过SFC时代的洛克人X系列。 原文网址:http://www.raywenderlich.com/15230/how-to-make-a-platform-game-like-super-mario-brothers-part-1开篇之前先怀旧一番吧! &nb...

  qBDP77BClnFx   2023年11月02日   51   0   0 cocos2d-x动作游戏

   本文要实现飞机射击游戏中的地图无限滚动的功能,这里分为两个层,一个层无限向下滚动,一个层无限向上滚动,这样子结合起来效果就非常有层次感,也非常逼真,这里我把地图层都写成一个类,自己把地图改下,就可以成为你自己的了!下面,我们开始吧 先来看看效果:   Cocos2d-x版本:3.4 工程环境:VS30213   一、实现思路     其实就是两张图片,然后同时一起向下(向上)滚动,当一张图片完全出视野后,就把它调到最上面。形成两个图片交替出现,不过,一般为游戏中我们都感觉像是一张图片,那是...

  8p3zi56tzurk   2023年11月02日   70   0   0 地图无限滚动cocos2d-x

  本文将要实现一个横版格斗类游戏,并实现摇杆控制英雄上下左右运动。这里实现了能通过虚拟摇杆控制精灵的运动,而且能够改变精灵运动时的脸部朝向。之前看了好多人写虚拟摇杆,但是就是没写控制精灵的运动和脸朝向的。所以自己就想要写个文章好好讲下它的实现思路。好了,下面我们开始吧。 最终效果:    cocos2d-x版本:2.2.5    工程环境:windows7+VS2010       打开方式:将工程放在cocos2d-x安装目录下的proje...

  8p3zi56tzurk   2023年11月02日   55   0   0 cocos2d-x虚拟摇杆控制精灵

cocos2d-x同时播放多个音效的时候,会发现有的音效放不出,有的循环音效放着放着就没了 后来发现猫腻在Cocos2dxSound.java里: private static final int MAX_SIMULTANEOUS_STREAMS_DEFAULT = 5; SoundPool构造的时候要指定并发音频流的数量 public SoundPool (intmaxStreams,intstreamType,intsrcQuality) Addedin APIlevel1 Thisconst...

  0zvMYZQ1vjpl   2023年11月02日   47   0   0 SoundPoolcocos2d-x音效

1、在头文件中CCTMXTiledMap_mapTild;提示:语法错误:缺少“;”(在“”的前面)&&缺少类型说明符假定为int。注意:C不支持默认int     解决办法:添加命名空间usingnamespacecocos2d;不是std哦; 2、以下代码“setPosition(ccp(_spriteNpc->getPositionX()-MAPTILESIZE,_spriteNpc->getPositionY));”提示了错误““类型转换”:无法从“overloaded-function”转换为“float”” &...

  bAIJCvjM3JBV   2023年11月02日   46   0   0 cocos2d-x

     由于移动平台的硬件性能及移动网络限制,以及便携设备耗电的特征,对移动平台游戏进行性能优化至关重要,从应用程序包的大小,到应用程序运行时期的内存占用,应用程序计算导致的耗电大小等,都能对移动游戏的优化带来很大的改善。 【征文主题】 1.提供一些自己工作中实践的一些对游戏进行性能优化的方案,例如减少纹理占用内存,减少算法复杂度,减少耗电量等均可。 2.从OpenGLES渲染管线等角度思考我们可以怎样更好地优化我们的应用程序,例如减少DrawCall等。 【活动时间】即日起至2014-12-4 【征文要求】 将文...

  ytJozhxkSQpF   2023年11月02日   41   0   0 cocos2d-x分享Cocos2d-x性能优化

  一、问题    当下,使用COCOS2D-X开发的同学看上去不少了,但奇怪的是,在中文网络搜索中使用EasyNDK-for-cocos2dx的介绍资料见之极少!?    所谓的跨平台开发,COCOS2D-X+CocosStudio尽管节约了开发人员不少时间,但是大凡被这个“利器”吸引的人在投入后可能都没有感觉过轻松。其中一个主要原因就是,如果你选择使用C途径的COCOS2D-X+CocosStudio游戏开发,真正要实现跨多种平台时,你还要学习使用Android平台相关的Java,iOS平台相关的Obj...

  iwbGD3gmtxyT   2023年11月02日   49   0   0 cocos2d-x跨平台开发ndk

接上一篇《创建工程》 1、在D:\cocos2d-x-2.2.5\projects\MyGame\proj.win32中有main.cpp文件,内容如下:   其中的eglView->setFrameSize(480, 320)是设置模拟器大小的(相当于是手机的实际尺寸),大家可以根据实际情况进行设置。   2、在D:\cocos2d-x-2.2.5\projects\MyGame\Classes中的AppDelegate.cpp是整个游戏的代理文件。由于考虑到Android手机各种屏幕分辨率问题,所以需要在这里设置统一的分辨率。如下:   ...

  hPtUFHF43HOJ   2023年11月02日   58   0   0 模拟器大小cocos2d-x实际分辨率

与游戏的场景不同,场景是层的容器。一个游戏场景可以包含许多层(Layer),在层中我们可以加入游戏的一些元素,构成丰富的游戏世界。 比如游戏中的文本标签或者其他人物,怪物等游戏元素都是被层包含,另外在层中我们可以设置游戏元素的属性,比如玩家位置,方向和大小;设置游戏元素的动作,跳、跑、蹲等。 层中最常见的就是触摸监听事件,还有对应的触摸函数。详细的参考API文档。     auto red = LayerColor::create(Color4B(255, 0, 0, 255));//RGBA 颜色数...

  IQdPh4ljaoZA   2023年11月02日   44   0   0 Layercocos2d-x层layerCCLayercocos2dx

前言 以我的工作环境配置而言,只供大家参考,请知悉!   一、cocos2d-x-2.2.5如何创建一个工程 1、打开cmd控制台,cd到D:\cocos2d-x-2.2.5\tools\project-creator; 2、输入命令:create_project.py -project MyGame -package com.gzd.game -language cpp 后,如果看到如下内容(Have Fun!):   就说明创建工程成功了,会在D:\cocos2d-x-2.2.5\pr...

  hPtUFHF43HOJ   2023年11月02日   42   0   0 cocos2d-x创建工程

场景(Scene)是游戏的直接表现元素,游戏是由若干不同的场景构建而成。游戏里面的关卡切换,地图切换实际就是游戏场景的切换。而这所有的流程都是Director来控制。   在项目中打开AppDelegate.cpp文件。     引用头文件include "HelloWorldScene.h" auto scene = HelloWorld::createScene();//调用HelloWorld::createScene()创建场景 director->runWithScene(scene);//初...

  IQdPh4ljaoZA   2023年11月02日   36   0   0 CCScenecocos2d-xScenecocos2dx