标签: ccsprite

如何区分iphone4和iphone 3

我正在尝试使用cocos2d引擎为iphone构建游戏.我想知道如何区分用户是使用iphone 4还是iphone 3,因为我想加载iphone4的高分辨率图形和iphone 3的低分辨率.我知道我是否使用@ 2x.png如果我正在使用iphone 4,则图像文件名UIImage的末尾会自动加载高分辨率图像,但对于游戏,我使用cocos2d引擎的CCSprite类来加载图形.

我真的很感激回复.

此致,Ankur

ios ccsprite

43
推荐指数
3
解决办法
2万
查看次数

如何在iphone的cocos2d中获取CCSprite的宽度和高度

这是xD的问题

给定iphone中cocos2d中的CCSprite实例,我可以使用什么方法来获取图像的宽度和高度?

iphone sprite dimensions ccsprite

29
推荐指数
2
解决办法
3万
查看次数

Android中的Cocos2d-X的TDD

如何在eclipse的cocos2d-x场景中为" 是否添加精灵 "编写TDD .这是我的代码

CCSprite *sprite  =null;

//adding sprite code
sprite = new CCSprite();
sprite->initWithSpriteFrameName(“abc.png");
this->addChild(sprite);
Run Code Online (Sandbox Code Playgroud)

任何博客或正确方向的帮助将不胜感激.谢谢

eclipse tdd android ccsprite cocos2d-x

14
推荐指数
1
解决办法
215
查看次数

Cocos2D旋转和锚点

我遇到的问题是,当我改变锚点时,sprite会相对于当前锚点自动旋转.而且我不希望这种情况发生.

我遵循的步骤

  1. 创建一个带锚点的精灵(0.5,0.5)
  2. 将锚点更改为(0,1)
  3. 将精灵旋转到90度.(使用CCRotateBy.正确旋转精灵)
  4. 将锚点改为(0.5,0.5)(到目前为止,每件事情都很好.这就是我需要保持的位置).现在sprite.rotation是90.
  5. 我将锚点更改为(1,0)(Sprite相对于给定的锚点自动旋转到90度 - 我需要停止此行为)

有没有办法将精灵的旋转重置为0,而不实际旋转纹理(即,保持纹理的当前形式 - 实际纹理旋转到90度)和改变锚点或位置与步骤4,所以我可以从第5点继续.

iphone cocos2d-iphone ccsprite

10
推荐指数
2
解决办法
7053
查看次数

如何在Cocos2d-X中交换CCSprite对象中的sprite

我有一个继承自CCSprite的对象.我希望从这个对象里面改变图像.

如何在不在Cocos2d-X中创建新的CCSprite对象的情况下更改图像(精灵)?

谢谢,阿德里安.

ccsprite cocos2d-x

10
推荐指数
1
解决办法
1万
查看次数

使用数据URI而不是精灵图像有什么缺点?

考虑我的网站的这个条件:

  • 我不支持IE8及以下版本,因此浏览器支持不是问题.

  • 我也使用gzip来避免CSS中的数据重载,以防我在CSS文件中复制和粘贴数据URI图像.

  • 我只有一个由LESS生成的CSS文件.

  • 为了方便起见,我为每个图像数据URI使用LESS变量.

  • 我将图像变量放在一个单独的LESS文件中,以保持我的代码库清洁

有了这些,我仍然不确定它是否是加载图像的最佳方法.使用此方法加载小图像可减少HTTP请求的数量,而且我们不必维护精灵图像.

你能想到这种方法有什么缺点吗?

css http less ccsprite

10
推荐指数
1
解决办法
401
查看次数

线条绘制+该线条与self的交点,还可以检测绘制线条内的CCSprites

我正在使用以下代码绘制线条,它的工作效果令人惊叹,

http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/

现在我想......

1>检测线是否与自身相交.2)检测CCSprite是否在此闭合线内.

在搜索时,我遇到了LineIntersection的许多逻辑,但没有一个是准确的.我给它们中的一个检测交叉点,但是当没有交叉线时它也检测到它.

  1. 第一种方法

    - (BOOL) lineIntersectOccured:(CGPoint)t1 pointEnd:(CGPoint)t2
    {
        BOOL result = NO;
        int pointsCount = [arrlinePoints count];
    
        CGPoint cp1;
        CGPoint cp2;
    
        for(int i = 0, j = 1; j < pointsCount; i++,j++)
        {
            [[arrlinePoints objectAtIndex:i] getValue:&cp1];
            [[arrlinePoints objectAtIndex:j] getValue:&cp2];
    
            // lines connected do not need to be included.
            if((cp2.x == t1.x && cp2.y == t1.y) || (cp1.x == t2.x && cp1.y == t2.y))
            {
                continue;
            }
    
            CGPoint diffLA = CGPointMake(cp2.x - cp1.x,cp2.y - cp1.y);
            CGPoint diffLB = …
    Run Code Online (Sandbox Code Playgroud)

line-intersection cocos2d-iphone line-drawing ios ccsprite

10
推荐指数
1
解决办法
945
查看次数

使用数学函数中的值在cocos2d-x中渲染

早上好.

我在linux上,使用cocos2d-x Android.

我创建了一个计算圆值的函数.

        // Circle point updateCircle()
    // x = number of iteration · SamplingPeriod   |-|-|-|
    // y = A · sine ( 2 · PI · number of iteration · SamplingPeriod / Period )
    int iterations = this->getNumberOfIterations();
    CCPoint centerPoint = this->getCenter();
    float x = centerPoint.x + this->getAmplitude() * cos( 2 * M_PI * iterations * this->getSamplingPeriod() * this->getFrequency() );
    float y = centerPoint.y + this->getAmplitude() * sin( 2 * M_PI …

android ccsprite cocos2d-x

9
推荐指数
1
解决办法
1304
查看次数

如何正确使用CCSpriteFrameCache和CCSpriteBatchNode?

当我向我的cocos2d应用程序添加CCSpriteFrameCache或CCSpriteBatchNode时,我不明白我做了什么.有人可以解释以下几点(如果你能解释几个会有所帮助;请根据你回答的问题在你的答案前写下相应的字母):

[所有问题都意味着实现最佳性能和最低内存使用率]

a)为每一层创建spritesheets是否至关重要?(例如:菜单 - 自己的spritesheet,GameLayer - 自己的spritesheet ......)

b)有人可以解释为什么我必须向批处理节点添加精灵,以及批处理节点通常是什么?

b1)那么,为什么我不能做以下事情:

      [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"menusprites.plist"];
       CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"menusprites.png"];
      [self addChild:spriteSheet];
Run Code Online (Sandbox Code Playgroud)

然后通过调用将sprite添加到我的图层

CCSprite *mySprite = [CCSprite  spriteWithSpriteFrameName:@""]; 
[self addChild:mySprite];
Run Code Online (Sandbox Code Playgroud)

没有将它们添加到批处理节点?因为根据我的理解,它的工作原理如下:

我将我的spritesheet与其上的所有精灵添加到屏幕上.我的应用程序然后进入plist并查找我想要显示的精灵的坐标,然后将其放在屏幕上.那我为什么要打电话呢

[spriteSheet addChild:mySprite];
Run Code Online (Sandbox Code Playgroud)

c)当我不再需要它时,如何摆脱spritesheet用于记忆目的?

objective-c cocos2d-iphone ipad ccsprite

8
推荐指数
1
解决办法
5645
查看次数

cocos2d:为什么convertToGL,以及为什么addChild CCSprite在它的主体之前呢?

我开始学习cocos2d的,我想知道为什么我们实际使用convertToGL从CCDirector,[[CCDirector sharedDirector] convertToGL: touchLoc];当我们已经拥有了[touch view][touch locationInView: [touch view]];

另外,我们首先"addChild"一个CCSprite,包含一个图像,然后我们设置它的主体,ccsprite成为这个主体的数据用户.不会更好地"添加孩子"身体吗?或者它是出于任何特定目的?

谢谢

cocos2d-iphone ccsprite

7
推荐指数
1
解决办法
2196
查看次数