我有一个256x256的double组,代表我用于随机地形生成的高度图。目前,我通过为数组中的每个元素创建一个像素Sprite并相应地为其着色,以一种极其低效的方式显示地形。这给我留下了256x256Sprite,我当然想找到一种方法来渲染纹理或从这个数组创建Sprite或图像,而不是必须处理这么多小Sprite。有没有办法在Cocos2d(特别是Cocos2d-x)中实现这一点?我自己找不到任何东西。 最佳答案 在cocos2d-iphone中,您可以使用[CCTexture2DinitWithData:pixelFormat:p
假设我正在使用CCSpriteFrameCache并像这样添加帧[[CCSpriteFrameCachesharedSpriteFrameCache]addSpriteFramesWithFile:@"atlas.plist"];mySpriteSheet=[CCSpriteBatchNodebatchNodeWithFile:@"atlas.png"];CCSprite*oneSprite=[CCSpritespriteWithSpriteFrameName:@"abc"];//yesIdonotuseextensions,whoneedthem?[mySpriteSheetaddC
-(void)ccTouchMoved:(UITouch*)touchwithEvent:(UIEvent*)event{CGPointlocation=[touchlocationInView:[touchview]];location=[[CCDirectorsharedDirector]convertToGL:location];shootVector=ccpSub(location,cannon.position);CGFloatshootAngle=ccpToAngle(shootVector);cocosAngle=CC_RADIANS_TO_DEGREES(-1*shoo
我的问题是:我需要从右到左连续移动我的Sprite(方向是横向)我已经搜索并找到了Ray的教程(感谢他)但图像似乎并没有连续滚动我的代码是-(id)init{//alwayscall"super"initif((self=[superinit])){CGSizescreenSize=[CCDirectorsharedDirector].winSize;//1)CreatetheCCParallaxNodebackgroundNode=[CCParallaxNodenode];[selfaddChild:backgroundNodez:-1];//2)Createthespriteswe
我正在尝试构建一个简单的iOS游戏。当我的主菜单加载并出现在屏幕上时,我想让按钮从两侧移入。我唯一的想法是将一些SKActions应用于SKSpriteNodes。但是我必须创建自己的按钮类。有没有更简单的方法来完成这个?cocos2d中是否已经有像CCMenuItem/CCMenu这样的类?或者有没有办法使用UIButtons?谢谢 最佳答案 我创建了一个按钮类,它有一个SKSpriteNode属性、一个CGRect属性和一个Radius属性(用于圆形按钮)。当您使用图像初始化按钮时,它会根据图像大小设置CGRect和Radius
如何让SKNode继续前进?我已经能够使用[SKActionmoveByX:y:duration:]使节点沿固定方向移动,但我希望它沿相对于其面向方向的方向移动.我希望让每个节点旋转45度,然后向前“走”50像素。看起来很简单,我就是找不到。 最佳答案 这将旋转,然后朝向您点击的位置-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{for(UITouch*touchintouches){for(UITouch*touchintouches){CGPointloc
在WWDC视频(第503节,使用Sprite-Kit进行设计)的结尾,演讲者提到我们可以“使用标准UIKit控件作为SKView的subview”。我认为这对于创建一个带有一段帮助文本和一些UIButtons之类的弹出式中间游戏非常有用,但我根本无法让它工作。在我的场景初始化中,我尝试了一些简单的事情,比如:UIView*v=[[UIViewalloc]initWithFrame:CGRectMake(0,0,100,100)];v.backgroundColor=[UIColorblueColor];[self.viewaddSubview:v];但什么也没有出现。我想做的事情可行吗
在这里经过大量搜索后,我终于找到了一种让GameCenter在SpriteKit中显示的方法,但现在我无法调用leaderboardViewControllerDidFinish方法。我在不同的应用程序中使用此代码并且它工作正常但由于某些原因为SpriteKit修改了代码它只是不工作。提前致谢!这是我的代码示例:-(void)showGameCenterButtonPressed:(id)sender{{if([GKLocalPlayerlocalPlayer].authenticated==NO){UIAlertView*message=[[UIAlertViewalloc]init
在xcode中选择sks文件时,没有粒子效果的预览。我尝试创建一个全新的项目。我可以在应用程序中集成粒子发射器,但无法在编辑器中预览效果。 最佳答案 当这不起作用时,一种情况是Mac在VMware上运行,并且没有针对该问题的修复。这发生在我的案例中。同样的东西在我的物理MacBookPro上运行正常,我到处都可以看到粒子,甚至可能在我的屏幕之外:) 关于ios-Xcode5:CannotpreviewSpriteKitparticleemitterinxcode,我们在StackOver
我正在使用SpriteKit创建一个涉及气球的游戏。气球图像是一个长矩形(虚线),但我使用多边形(实线)在气球本身周围定义了一个物理体。我希望玩家能够“弹出”气球。我正在使用以下代码块来实现此目的:-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{UITouch*touch=[touchesanyObject];NSArray*nodes=[selfnodesAtPoint:[touchlocationInNode:self]];for(SKNode*nodeinnodes){[noderemoveFromPare