- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在它自己的类中有一个“炸弹”CCSprite
(如果不使用 cocos2d 的人读到这个,CCSprite 几乎是一个 NSObject)。
CCSprite 文件如下所示:
Bomb.h:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import <OpenAL/al.h>
@class HelloWorldLayer;
@interface Bomb : CCSprite {
@private
int length;
}
@property (readwrite) int length;
@end
Bomb.m:
#import "Bomb.h"
@implementation Bomb
@synthesize length = _length;
@end
我使用 @class Bomb;
在 .h 中将它添加到我的游戏层(HelloWorldLayer
,就像专业人士一样),然后我将 Bomb.h 导入到我的 HWLayer 中。 m 以及我在我的代码中使用它的地方,在这里:
Bomb *bombe = [[Bomb alloc] init];
bombe.position = explosionPoint;
bombe.length = player.explosionLength; //player is another CCSprite class. This one is from the method. ....fromPlayer:(PlayerSprite *)player
//Logging here works, tested and the bombe.position is valid and .length is valid
[currentBombs addObject:bombe];
NSLog(@"%@",currentBombs); //Here doesn't, guessing crash is at ^
如前所述,它在 addObject:
行崩溃。我真的不明白为什么,因为我只是用 Bomb
类替换了未分类的 CCSprite。崩溃只是一个(lldb)
,左边的东西输出了几千个:
它说的是描述,所以我假设它在我的 CCSprite 子类中是错误的。但是 bombe.* 日志记录工作正常!
有谁知道为什么它不起作用?
编辑:
最佳答案
编辑:
NSLog(@"%@",currentBombs); //Here doesn't, guessing crash is at ^
你的 %@ 意味着 NSString
。 currentBombs 可能是一个整数。尝试
NSLog(@"%i",currentBombs); //Here doesn't, guessing crash is at ^
CCSprite
需要纹理。你可以(也许?)有一个 CCSprite
而没有一个,但这不是 CCSprite
的目的。
为此,您需要使用 CCNode
:
CCNode* node = [CCNode new];
这是一个成熟的 Cocos2d 对象,您可以移动等等。您可以将炸弹添加到其中,然后移动 CCNode,如下所示:
Bomb *myBomb = [Bomb new]; //or whatever
CCNode* bombNode = [CCNode new];
//add the bomb to the node
[bombNode addChild:myBomb];
//move the node
bombNode.position = CGPointMake(10, 20)
这允许您从您的节点中删除 myBomb
,有效地拥有您可以添加任何您想要的东西而不需要显示任何东西,但是当您想要时,它可以很容易地完成。
祝你好运
关于ios - 将 CCSprite (NSObject) 添加到 MutableArray 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16834431/
我想要完成的是让我的 CCSprite 在接触另一个 CCSprite 时跟随它。现在我所说的跟随的意思是,假设有另一个 CCSprite 的动画在屏幕上移动。所以如果这个 Sprite 击中了我的主
我使用 CCSprite 使我的项目显示简单的纹理。 但我发现纹理包含一些微小的噪音,黑色像素错误。 我使用代码将 png 文件分成小块。并将其添加到主视图。 不是所有的人都有噪音,但有些人有。 我不
在我解释我的问题之前,我对我的项目如何运作做了这个非常不简洁的说明 - 我的问题是 - 当我要检查损坏的时间到了时,我想从数组中删除该对象!我曾尝试在 checkForDamage 中删除它,但由于它
_ball = [CCSprite spriteWithFile:@"ball.png" rect:CGRectMake(0, 0, 52, 52)]; _ball.position
我无法插入同一个 Sprite 的多个子元素并访问它(或在运行时为它们设置位置)。请建议任何合适的方法最好指出我的错误。这是我的方法。 //In the Init Method... //int i
我在 init 方法中创建一个像这样的 Sprite (mySprite 在 .h 中声明): mySprite = [CCSprite spriteWithFile:@"Image1.png"];
我正在尝试学习 Objective-C 以及如何使用 cocos2d 为 iOS 制作一些简单的动画。 我正在使用本教程并让动画正常工作,但我想将代码从主类中取出并放入一个单独的类中。 ( http:
我正在尝试从透明 PNG 创建 Sprite 图。如果我将图像用于 UIImageView,它会将背景显示为透明 - 它应该是透明的。但是,如果我使用 CCSprite,我会得到黑色背景。这是我正在创
我对更改 CCSprite 的纹理有点困惑。 我有: aTexture[NUM_WALLS+11] = [[CCTexture2D alloc]initWithImage:[UIImage image
我的 iPhone 游戏在 cocos2d 中遇到了一个奇怪的问题。我创建了一个 PNG 文件,如下所示 在 cocos2d 中,我使用 CCSpriteSheet 来获取所有带有 PNG 文件的球。
想象一个变种人,它使纹理调色板从屏幕的一侧滚动到另一侧。我们将随机选择给定矩形内的纹理来模拟图像轮播的功能。 //Header file of the Texture Embedded
我有一个 CCSprite 对象,我想在另一个 CCSprite 中复制它。然后我想展示那个拷贝。我试过这段代码,但它会产生运行时错误。 CCSprite* copy=CCSprite::sprite
我正在尝试制作自定义进度条。我想要做的是根据数字的百分比让“barMask.png”具有 X 比例。我试过这样做: barBack = CCSprite::create( "barBack.png"
我正在使用 cocos2d 为图形制作 iPhone 应用程序,我在我的项目中添加了 4 张图片,我想将它们叠加起来用作背景。然后我通过像这样制作 CCSprite 将它们添加到应用程序中......
我是 Cocos2D 新手,我对纹理加载有疑问。 当我使用如下代码创建两个 Sprite 时,它是否会将纹理“alien.png”加载两次到内存中?或者它只保存一份副本并只创建一个 OpenGL 纹理
我正在使用Cocos2D开发一个画线游戏,类似于Flight Control、Harbor Master以及应用商店中的其他游戏。 对于这个游戏,我需要一个 CCSprite 来跟随用户绘制的线。我正
我可以使用以下代码初始化或创建一个新的 CCSprite 对象: NSString *fileName = [[imagesPath objectAtIndex:i] lastPathComponen
我有一个从 CCSprite 继承的对象。我想从这个对象内部更改图像。 如何在 Cocos2d-X 中更改图像( Sprite )而不创建新的 CCSprite 对象? 谢谢,阿德里安。 最佳答案 m
我有一堆 Sprite 来在我的游戏中创建一个森林。我想要做的是通过调暗或调亮每个图像来模拟白天和黑夜,就好像太阳下山或上山一样。如何更改 Sprite 的亮度(不是不透明度)。 我正在使用最新版本的
我已经为一个角色创建了动画..需要帮助通过其标签值将此动画添加到现有角色中.. 就我在网络上检查而言..所有都在创建新的 CCSprite制作这个动画..但我需要它将此动画添加到现有的 Sprite.
我是一名优秀的程序员,十分优秀!