cocos2d-x 精灵的创建和基本使用】的更多相关文章

经过昨天2dtoolkit系列教程一的推出,感觉对新手还有有一定的启发作用,引导学习使用unity 2dToolKit插件的使用过程,今天继续系列二——动画精灵的创建,以及背景图的无限循环滚动,在群里总是看到什么技术好,什么技术不好,新手永远迷惑是学C#呢还是学java呢,是cocos2d呢还是unity呢,总想着什么比较火,其实没必要这样,让自己选择两难,每个人都有选择困难症,也不要想一口吃掉一个大饼,想贪图取巧,说不定别人跟你说什么什么技术比较火,但也就是目前,等到你一个新手学成的时候,说不…
 1 编写MyLayer 头文件:MyLayer.h #include "cocos2d.h" USING_NS_CC;   //代表的是: using namespace cocos2d   (通过F12进行查看) //继承CCLayer class MyLayer :public CCLayer { public: //没有构造函数和析构函数 CREATE_FUNC(MyLayer); /*static MyLayer *create();*/ static CCScene *…
在cocos2d-x中.精灵能够说是一个最重要的组成元素,它代表游戏中一个最小的可见单位.同一时候也是CCNode一个最为灵活的子类,由于它能够通过装载一个平面纹理,从而具有丰富的表现力. 在进一步说精灵之前.有限须要理解一下纹理的概念.简单直观地理解,事实上纹理就是我们通常在游戏中看到的图片,而这张图片通过精灵这个容器显示出来. 专业一点来说,纹理是openGL中绘制到物体表面上的图案.在这里仅仅简介一下,不深入了解. 精灵的创建方法比較灵活,大致能够分为下面3种方法: 1.从文件里直接创建精…
上篇文章我们创建了一个黑乎乎的界面.以下我们就给它增加一个精灵. 我们这次就一起来学习精灵的基础知识. 1.什么是精灵 游戏中全部会动的对象都是精灵,能够是主人公,背景元素,一个子弹或者是敌人. 一个精灵一般会与一张图片关联. 精灵对象通常要通过执行动作对象来产生动画效果. 2.怎样生成一个精灵 3.怎样把精灵对象加入到布景层中 4.动作对象(CCAtion) 精灵加入到布景层中是不会动的,要怎么动作就要靠CCAtion了. 怎样生成一个精灵并加入到布景层中以下直接上代码 把要用的照片放到ass…
参考http://www.cnblogs.com/skynet/p/3428369.html 通过下面的一些改造,可以让新建的cocos2d-x项目独立于cocos2d-x引擎目录: 1)     将通过create_project.py创建的项目剪切到你希望放置的目录: 2)     创建环境变量COCOS2DX_HOME,指向cocos2d-x安装目录: 3)     将*.sln文件使用文本方式打开,将里面的所有相对路径“..\..\..”都替换为环境变量%COCOS2DX_HOME%,如…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家知道Cocos2d本身是一个非常强悍的2d游戏引擎,其中自带了很多使用的图像处理功能,但是别忘了Apple自带的Core Graphics里也有很多强大的图像处理功能,比如滤镜 CIFilter. Apple在iOS上提供了近百种不同的滤镜效果,可以用来方便快捷的渲染图像.至于CIFilter的具体使用大家可以参考苹果CG编程相关的书籍,这里由于篇幅原因不…
package com.swift; import java.awt.Point; import com.rupeng.game.GameCore;//导入游戏引擎包 public class Game_RuPeng implements Runnable { public static void main(String[] args) { GameCore.start(new Game_RuPeng());//生成游戏对象,并让引擎启动它 } //覆写接口中的run()方法,控制游戏 @Ove…
第一步: 最新的cocos2d-x.下载地址https://github.com/cocos2d/cocos2d-x github上最新的引擎,值得注意的是官网上发布的引擎是稳定版.选择哪种就看个人喜好了.但是最新功能你都体验不到.建议下载git工具然后clone到本地来更新 第二步: 下载后 用cmd终端里面进入cocos2d-x\tools\project-creator目录下 用python运行 create_project.py脚本 (没有搭建python环境的请参照win7下pytho…
从今天开始要做一个2d游戏,由于之前都是做cocos2dx的,然后接触了一段时间的unity3d,都是做3D方面的东西,得知要做2d游戏还是有点开心的,或许因为不想丢失之前的2d游戏的一些思想,然后接触到unity3d的一个2d插件——2dtoolkit,我感觉还是蛮强大的,虽然是一个插件,完全感觉跟cocos2dx引擎有的一比,他们的思想也很类似,我个人感觉有点区别的无非就是unity有丰富的可视化界面,而cocos2dx都是自己代码来布局界面,当然也可以用cocosstudio,可能是我没怎…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并且在init方法上方添加如下方法: - (CCSprite *)maskedSpriteWithSprite:(CCSprite *)textureSprite maskSprite:(CCSprite *)maskSprite { // 1 CCRenderTexture * rt = [CCRe…
CCSprite类中创建Sprite的方法都是静态的: static CCSprite* create ( )  创建一个无图片显示的精灵,可随后用 setTexture 方法设置显示图片 static CCSprite* create ( const char * pszFileName ) 依据图片路径创建精灵,该精灵为整张图片 static CCSprite* create ( const char * pszFileName,const CCRect & rect )依据指定图片选取的区…
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思来,但难免会加入自己一些理解进去.还有这篇文章所采用的xcode版本是3.2.5,用xcode4.0的朋友可能实现起来有点出入,我会在文章的最后给出解决办法. 文章原来出处:http://www.raywende…
什么程序都是从HelloWorld先开始.同样Cocos2d-x我们先从HelloWorld进行下手.下面是HelloWorld的运行完成图: 建立好的Cocos游戏项目中会有两个比较常用接触的文件夹.分别为Classes与resource.Classes存取代码文件,resource存取资源文件,下面为完整的项目架构: 我们先来看下最基本的AppDelegate.cpp类 #include "AppDelegate.h" #include "HelloWorldScene.…
上一章已经学习了环境的搭建.这一章对基础概念进行掌握.内容大概有: 1.导演 2.场景 3.节点 4.层 4.精灵 1.导演(Director) 导演存在的主要作用: a.环境设定(帧率 初始化openGl和渲染器) b.场景管理 c.执行主循环 游戏就是个死循环 不断不断的渲染  就跟视频没两样 一帧一帧的绘制出来  话说提一下一帧为1/60秒  也就是说cocos2d里一秒渲染60次 导演的管理:   计时器  事件管理器  动作管理器 导演继承于REF  本质上就是一个单例类 获得导演类D…
接上一节内容:cocos2dx - 环境配置,项目创建 本节主要描述cocos中精灵的创建及点击事件的使用 打开创建好的test项目,看到下图的目录结构,真正的游戏逻辑路径在src下. AppDelegate类主要描述启动应用的一些设置及回调. HelloWorldScene类是当前显示界面的场景类. 图片精灵 开始之前,先去掉HelloWorldScene下init方法的内容.然后创建Sprite类并添加到Scene节点中显示,如下: // 获取显示的游戏大小 Size visibleSize…
动画在游戏中是很常见的 程序1:创建一个简单的动画 首先须要在project文件夹下的Resource文件夹中放一张有各种不同动作的图片 在程序中加入以下的代码 #include "Animation.h" CCScene* Animation::scene() { CCScene* s = CCScene::create(); Animation* layer = Animation::create(); s->addChild(layer); return s; } bool…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 在之前的博文中,我们创建了游戏的基础 - 小可爱的地鼠从洞中呼之欲出.我们花了大量的时间思考关于如何组织素材以及坐标置位,以让我们的游戏在iphone,ipad以及高清屏上看…
学习cocos2d-x中的菜单主要须要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的详细子类. a. 以下来学习一下相关的类. 1. CCMenu 菜单,是CCLayer的子类,是一个层(容器),能够往里面加入菜单项.以下是它的类结构图:   CCMenu默认接受触屏事件的优先级是-128(优先级非常高,由于值越小,响应触屏事件的优先级越高),能够通过继承它实现自己定义的效果,创建CCMenu对象的函数: static CCMenu* menuWithIte…
cocos2dx针对游戏设计的不同方面会有不同的优化方案,可以对声音,对内存,对图片格式,对色彩等等进行优化.有关这些方面的方法请大家查找其他的文章.我今天要说的是如何对精灵进行优化,程序中我们用到的最多的就是精灵,大到背景.UI,小到 NPC.道具,只要是用图片展示的,都是精灵或它的子类.精灵是什么,在我看来精灵就是一张纹理图片,是按某种方式显示出来的图片.精灵如此的重要,我们当然要好好的优化优化了.我们可以减小精灵图片的大小,使用缓存Cache的方法将精灵提前加载到内存中,当有很多精灵的时候…
精灵(Sprite)是游戏里面的角色,比如敌人,游戏里面运动的物体等等,所以精灵是游戏里面一个非常常见的概念,几乎无处不在.在Cocos2D-x里面精灵是用CCSprite类来进行表示的,它可以用一张图片或者一张图片的一块矩形部分来定义.我们可以通过下面的代码用一张图片资源创建一个精灵,然后把它添加到游戏中: CCSprite *b = CCSprite::create("cat.png"); b->setPosition(ccp(s.width * 0.5, s.height…
通常我们在游戏里面创建的精灵比如玩家主角,它在移动的过程中一般会带有一些动画的效果,比如两只脚前后地移动,那么这种动画效果的实现和控制就可以通过Unity2D的动画系统来实现. 要添加这样的动画,首先我们需要先在Hierarchy视图里面选中精灵,然后在Animation视图里面创建一个动画文件[Create New Clip],如下图所示: 创建好动画的文件之后,就可以把精灵的各个状态拉到时间轴上,然后拖动红色的线条就可以看到动画的预览效果. 对于一个精灵可以创建多个动画,各个动画之间可以进行…
精灵是Unity2D里面对通过图片纹理实现的游戏对象,通常会是游戏里面的玩家,敌人之类的,在Unity里面创建一个精灵的操作非常简单,直接把图片资源拖放到Hierarachy视图就可以完成了精灵的创建.这时候我们就可以看到Inspector视图,如图所示: 通过游戏里面的精灵会对应有多张图片,这时候我们可以通过sprite sheet来创建精灵,在Project视图里面选中图片,然后在Inspector视图里面sprite model选择Multiple,如图所示: 点击Sprite Edito…
精灵类是cc.Sprite,它的类图如下图所示.cc.Sprite类直接继承了cc.Node类,具有cc.Node基本特征. 创建Sprite精灵对象 创建精灵对象可以使用构造函数实现,它们接受相同的参数,这些参数非常灵活.归纳起来创建精灵对象有4种主要的方式:1. 根据图片资源路径创建 //图片资源路径 var sp1 = new cc.Sprite("res/background.png"); //图片资源路径和裁剪的矩形区域 var sp2 = new cc.Sprite(&qu…
1.可以将一些比较通用的东西放到Common.h中,这是一个.h文件,必须手动添加,且保证在classes目录里 #ifndef __COMMON_H__ #define __COMMON_H__ #include "cocos2d.h" USING_NS_CC; #define winSize Director::getInstance()->getWinSize() #define CCLog cocos2d::log #endif 2.创建一个场景…
//获取精灵帧缓存的单例对象 auto  spriteFrameCache = SpriteFrameCache::getInstance(); //从plist文件添加多个精灵帧 spriteFrameCache->addSpriteFrameWithFile("XX.plist"); //根据图片名称创建一个精灵帧 auto sprite1Frame =spriteFrameCache->getSpriteFrameByName("xxx.png")…
前言: 精灵类是Sprite类.它的子类有PhysicsSprite 和 Skin. PhysicsSprite 是物理引擎精灵类,而Skin是皮肤精灵类,用于骨骼动画. 创建Sprite精灵对象 创建精灵对象有多种方式,常用的函数如下: 1)创建一个精灵对象,纹理等属性需要在创建后设置 static Sprite* create(); 2)指定图片创建精灵 static Sprite* create(const std::string& filename); 3)指定图片和裁剪的矩形区域来创建…
1.创建精灵 在实际使用中,精灵是由一个纹理创建的.在不加任何设置的情况下,精灵就是一张显示在屏幕上的图片.通常精灵置于层下,因此我们首选在层的初始化方法中创建精灵,设置属性,并添加到层中. 有多种方式可以创建精灵: (1)直接创建 auto sprite = Sprite::create("HelloWorld.png");this->addChild(sprite,0); (2)使用纹理来创建精灵 auto sprite1 = Sprite::createWithTextur…
这次写一下精灵创建的几种类型: 一.通过文件创建: 在原有的基础上加入例如以下代码: //一.通过文件创建精灵 CCSprite *bg =CCSprite::create("map.png"); CCSize winSize  =CCDirector::sharedDirector()->getWinSize(); //得到屏幕的尺寸 bg->, winSize.)); this->addChild(bg); return true; 执行: 背景图片被加入进来..…
Cocos2D 3.3中的注意事项 如果你在使用Cocos2D 3.3+(是SpriteBuilder 1.3+的一部分)你将不得不替分别的换所有存在的UITouch和UITouchEvent为CCTouch和CCTouchEvent. 你可以在SpriteBuilder的升级手册中找到更多信息. 再见 CCMenu!Hello CCLayout! 在过去CCMenu是创建菜单最简单的方法.因为CCMenu是提供布局处理方法的仅有的类(alignItemsVertically,等等).该类过去被…
Sprite有两个父类:BatchableNode批量创建精灵(大量重复的比如子弹)和pyglet.sprite.Sprite. 精灵的创建…