关于CCRect】的更多相关文章

CCRect是cocos2dx中的一块矩形区域 常用于碰撞检测及渲染时限定纹理的大小 CCRect rect=spr.boundingBox(); CCRect rect=CCRect(0,0,spr.width,spr.height); CCRect rect=CCRect(spr->boundingBox().origin.x,spr->boundingBox().origin.y,spr.size().width,spr.size().height); //boundingBox().o…
一直有一个误区,因为之前处理的公司引擎是屏幕坐标系 导致觉得CCRect的坐标起始值(x,y),习惯性的认为就是左上角的点. 但是,真正的x,y值,是跟x轴与y轴相对应的.…
转自: http://blog.163.com/hzklclick_wy/blog/static/21550517520137139511839/     void CCRect::setRect(float x, float y, float width, float height) {     // CGRect can support width<0 or height<0     // CCAssert(width >= 0.0f && height >=…
注:本教程翻译自官方<Walkthrough - Building a game with CocosSharp>,官方教程有很多地方说的不够详细,或者代码不全,导致无法继续,本人在看了GoneBananas项目代码后,对本教程进行了部分修改,但当前只涉及Android方面,iOS因没有环境验证代码,暂未修改. 本人博客地址:http://fengyu.name 原文链接:http://fengyu.name/?cat=game&id=295 相关资源: 离线PDF文档:Downloa…
OpenGL 坐标系 :   原点在屏幕左下角,x 轴向右,y 轴向上. UI坐标体系       :   原点在屏幕左上角,x 轴向右,y 轴向下. 屏幕坐标系:    UI 世界坐标系:  也叫绝对坐标系 :   GL,是窗口的坐标系,原点在窗口的左下角. 本地坐标系: 节点坐标系:  是Node的坐标体系,GL.每个节点都有自己的坐标系, 所以和世界体系不同的是,它的原点是节点的左下角. !!!当一个节点调用setPosition时, 使用的参数是它的父节点(渲染树)的坐标体系. !!!C…
用来作为以后复习使用. 1 #include "ScenceScend.h" CCScene* ScenceScend::scene() { CCScene* s = CCScene::create(); ScenceScend* layer = ScenceScend::create(); s->addChild(layer); return s; } bool ScenceScend::init() { CCLayer::init(); //1.通过文件直接创建精灵 //CC…
在游戏中我们通常会涉及到两个精灵之间的碰撞的计算,那么在Cocos2d-x里面我们通常会用矩形碰撞检测来计算两个精灵在运动的过程中是否碰撞到了.原理很简单,就是当运动的时候通过精灵的矩形坐标进行遍历来计算精灵之间是否有重合,如果有重合那就证明是碰撞上了. 下面看一下下面的例子: Ball精灵会根据帧速率来进行运动的,下面是Ball精灵的实现代码: #ifndef _BALL_H_ #define _BALL_H_ #include "cocos2d.h" /* 创建一个球的精灵 */…
#ifndef DROPDOWNLIST_H_INCLUDED#define DROPDOWNLIST_H_INCLUDED namespace azl{ #define DROPDOWNLIST_NORMAL_COLOR       cocos2d::ccc4(128, 128, 128, 255)#define DROPDOWNLIST_SELECTED_COLOR     cocos2d::ccc4(200, 200, 200, 255)#define DROPDOWNLIST_HIGHL…
上一节说布景层CCLayer是小容器,那么精灵类CCSprite就是容器添加的内容,它是构成游戏的主要元素.精灵这个名称应该是游戏专用,它表示游戏中玩家操作的主角.敌人.NPC(Non Player Character-非玩家控制角色的缩写).背景.道具和机关等.在Cocos2D-x中,CCSprite本质上就是一张二维的图片对象而已.CCSprite的继承关系图如下:    从上图可知,CCSPrite也是CCNode的子类,不过它还支持纹理和色彩.看一看CCSprite的内部结构和功能.  …
require "extern" --这个类找到了可视区域的9个点的坐标:左上.上的中点.右上.左的中点.左下.下的中点.右下.右的中点.一般用于使用相对坐标的场合,解决自适应屏幕的问题 --改写自VisibleRect.cpp VisibleRect = class("VisibleRect") VisibleRect.__index = VisibleRect --CCRect VisibleRect::s_visibleRect; --创建一个CCRect实例…
1.CCEditBox local back = CCScale9Sprite:create("res/ui/images/im_02.png", CCRect(20, 20, 1, 1)) back:setContentSize(CCSize(0,0)) self.EditName = CCEditBox:create(CCSize(350,50), back) self.EditName:setPosition(ccp(250, 60)) self.EditName:setFont…
[cocos2dx]让CCScrollView支持分页 做过IOS开发的朋友, 肯定知道UIScrollView有一个isPaged属性. 当设置其为true的时候, 滑动会自动分页. 即, 每次滑动之后, 会停止在整页的位置. 当开始介入cocos2dx开发的时候, 却发现跟UIScrollView接口十分相似的CCScrollView却没有这个分页属性. 于是手动实现了一个. 博客: http://www.cnblogs.com/jhzhu 邮箱: jhzhuustc@gmail.com 作…
Cocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的纹理. 当这个精灵调用CCTextureCache 或 CCSpriteFrameCache的方法的时候,cocos2dx将使用纹理缓存来创建一个CCSprite.所以你可以预先将纹理加载到缓存中,这样你在场景中使用的时候就非常方便了.怎么样加载这些纹理就看你自己的想法.例如,你可以选择异步加载方式,这样你就可以为loading场景增加一个进度条. 当你创建一个精灵,你一般会使用CCSprite…
纹理缓存是将纹理缓存起来方便之后的绘制工作.每一个缓存的图像的大小,颜色和区域范围都是可以被修改的.这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU. CCTextureCache Cocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的纹理. 当这个精灵调用CCTextureCache 或 CCSpriteFrameCache的方法的时候,cocos2dx将使用纹理缓存来创建一个CCSprite.所以你可以预先将纹理加载到缓存中,这…
先看下效果 制造这个椭圆高亮区域所使用原图是 附上代码 bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sh…
游戏开始层 #ifndef __LayerGameStart_H__ #define __LayerGameStart_H__ #include "cocos2d.h" USING_NS_CC; class LayerGameStart :public CCLayer { public: static CCScene * scene(); CREATE_FUNC(LayerGameStart); bool init(); void addStartGamePicture(); void…
// 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CCLayer::init() ) { return false; } CCSize size=CCDirector::sharedDirector()->getWinSize(); //添加一个雪碧图 CCSprite* pSprite = CCSprite::create("love.png&…
我所知的opencv中分割函数:watershed(只是看看效果,不能返回每类pixel类属),cvsegmentImage,cvPyrSegmentation(返回pixel类属) 金字塔分割原理篇在这里,本文只提供代码. Segment函数: #include<cv.h> #include <cvaux.h> #include <opencv\cxcore.hpp> #include <opencv.hpp> #include <nonfree.h…
(原文出处找不到了) 无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥奔头了.所以玩cocos2d,一上来就先把各种与坐标有关的东西搞清楚. 基本的两个坐标系:屏幕坐标系和GL坐标系. 屏幕坐标系x轴朝右,y轴朝下.默认原点在左上角. GL坐标系x轴朝右,y轴朝上.默认原点在左下角. 在调用任何需要设置位置的函数,或从函数获取位置信息前,必须要明确这个函数使用哪个坐标系.比如调用CCNode类的setPosition函数,它使用的就是GL坐标系.比如在处理触摸事件时CCT…
转自:http://blog.csdn.net/honghaier/article/details/8222401 序列帧动画主要有几个类: CCSpriteFrame:精灵帧信息,序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像,一个精灵帧信息包包含了所使用的纹理,对应纹理块的位置以及纹理块是否经过旋转和偏移,这些信息可以取得对应纹理中正确的纹理块区域做为精灵帧显示的图像. CCAnimationFrame:序列帧动画单帧信息,它存储了对应的精灵帧信息. CCAnimation:序列帧动画信…
cocos2d-x for android:SimpleGame分析 作为cocos2d-x的标配DEMO,SimpleGame可算是给入门学cocos2d-x的俺们这些新手门学习的对象了,那么来分析分析,把几个关键的代码记录下来. 设置游戏读取资源的目录 CCFileUtils::sharedFileUtils()->setResourceDirectory("sd"); 默认路径是Resource目录 设置游戏的分辨率大小 CCEGLView::sharedOpenGLVie…
1.  4个数字 24点判断 double Calc(double a, double b, string oper) { double result = 0; const char *p = oper.c_str(); if (p != NULL) { switch (*p) { case '+': result = a + b; break; case '-': result = a - b; break; case '*': result = a * b; break; case '/':…
Cocos2d-x项目移植到WP8小记 作者: K.C. 日期: 10/24/2013 Date: 2013-10-24 00:33 Title: Cocos2d-x项目移植到WP8小记 Tags: Android, adb, WP, Visual Studio Cocos2d-x v2.2已经支持了Windows一系列的系统(cocos2d-x 0.13那个除外啦),包括RT,x86以及WP8 创建工程用create_project.py命令,工程会建立在cocos2d-x目录下的projec…
一.自动内存管理 1)概述 C++语言默认是没有提供自动内存管理的.使用者需要自己分配,自己释放.在cocos2d-x里提供了一个自动内存管理的方案.主要是通过CCObject来提供的,用户只要继承了CCObject,就可以通过调用autorelease()来告诉系统进行自动内存管理. 一般用法就是:    CCLayer* pLayer = CreateLayer(s_nActionIdx);    pLayer->autorelease(); 2)自动内存管理的实现 自动内存管理的实现原理大…
1.众生相,皆精灵 2.精灵的类继承关系 class CCSprite : public CCNode, public CCNodeRGBA, public CCTextureProtocol 3.创建精灵的三大类方法 4.代码实现 /** * Creates an empty sprite without texture. You can call setTexture method subsequently. * * @return An empty sprite object that i…
1.字符串 与 数据结构互转 CCPoint: CCPointFromString(); {x, y} CCSize: CCSizeFromString(); {w, h} CCRect: CCSizeFromString(); {x, y, w, h} 2.plist文件使用,配置文件使用 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//D…
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/15334159 cocos2d-x中和Android,Windows都 一样,如果在主线程中处理一些耗时操作,那么主线程就会出现阻塞现象,表现在界面上就是卡住,未响应等情况.为了避免这种情况的出现,我们需要在后台开辟 工作线程进行数据的处理,再采用消息传递或者其他形式来通知主线程进行UI变化.最常见的情况就是游戏进入前的loading. 1.图片的异步加载 在多线程和同步的第…
转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个纯黑色背景,怎么样将内容显示出来,让背景透明呢?前段时间搞了一下,感谢群里的童鞋们,提供了思路和方法. 这里用shader处理了像素,使黑色背景透明,直接上代码 ShaderSprite.h #ifndef __TestShader__ShaderSprite__ #define __TestSha…
转自:http://blog.csdn.net/honghaier/article/details/8068895 当一张图片被加载到内存后,它是以纹理的形式存在的.纹理是什么东西呢?纹理就是一块内存,这块内存中存放的是按照指定的像素格式填充的图片像素信息.它被最终作为三角面着色所依据的数据源. 我们来看一下cocos2d-x中的libcocos2d库,其下有许多目录,找到textures展开,可以看到有CCTexture2D,CCTextureAtlas,CCTextureCache,CCTe…
转自:http://blog.csdn.net/hgplan/article/details/8629904 在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在cocos2d-x解析.plist方面相关的资料比较少,但本身也很简单,要解析.plist文件可以参考cocos2d-x类库中的CCSpriteFrameCache类和CCParticleSystem类,它主要是使用CCDictionary类来对.plist文件进行操作. 下面有一个.plist文件…