这个“hitbox”的目的是让玩家只能在地面/平台上行走时跳跃。hitbox比玩家宽一点,并且在玩家的脚上。这是我的播放器类:classPlayer:SKSpriteNode{letmaxPlayerSpeed:CGFloat=300staticvarisPlayerOnGround=falseinit(){//playerstexturelettexture=SKTexture(imageNamed:"playerMove1")super.init(texture:texture,color:SKColor.clear,size:texture.size())//hitboxthat
我正在制作一个简单的游戏,其中用户在对象(SKSpriteNode)上向上滑动,以拱形运动向上和向下发送它(我假设使用SKAction)。这是我希望完成的视觉效果(请原谅我的基本Pixelmator技能):我创建了一个SKAction,它向上发送对象并根据速度等计算滑动的最终点。但是,我无法弄清楚一旦到达最终点如何使拱形运动发生,也不能回落到屏幕底部。我希望我可以为对象添加重力,并且SpriteKit将处理对象的移动,但从我最初的发现来看情况似乎并非如此。我在这里发布了我当前的代码:https://github.com/mikeberlin/Swipe-Arch-PoC该应用基于本教程
现在,我正在使用这段代码来尝试设置背景颜色[selfsetBackgroundColor:[[UIColoralloc]initWithRed:(0/255)green:(76/255)blue:(255/255)alpha:1.0]];我正在尝试获得浅蓝色,但相反,它给了我通常是blueColor的蓝色。我如何让它显示我想要的颜色? 最佳答案 假设您在SKScene中,因此您的“self”具有属性backgroundColor并且您可以这样更改它:self.backgroundColor=UIColor.blackColor()
我目前正在使用EmptyApplication为iPhone开发应用程序默认。这意味着Xcode创建的唯一东西是AppDelegate。我的.pch文件中唯一导入的框架是框架。这适用于我的大部分应用程序,但在某些地方,我想使用SpriteKit.是否可以使用SpriteKit我的应用程序中使用EmptyApplication的框架默认?我问这个是因为通常情况下,我必须专门选择SpriteKitGame如果我想使用SpriteKit,则在Xcode中创建新项目时默认。 最佳答案 是的,这是可能的。事实上,当您选择EmptyApplic
我的应用程序中的所有内容在正常使用期间都运行良好。但是,如果应用程序被电话打断,当应用程序恢复时,播放声音文件的操作将不再播放声音文件。每次打电话前都会播放。关于导致此问题的原因/如何解决这个问题的任何想法? 最佳答案 当涉及到将您的应用程序发送到后台的中断(例如电话、按主页按钮等)时,使用SKAction运行音频是不可靠的...解决方案是使用AVAudioPlayer来代替短暂的音效。你必须:仅将AVAudioPlayer用于您的所有音频,因为它经过设计和测试可以处理中断。将NSData用作与AVAudioPlayer一起使用的声
我正在使用cocos2d制作“又一款iOS”游戏,现在想知道Sprite动画可接受的每秒帧数是多少?这更像是一个理论问题,即我必须绘制多少动画帧才能使游戏看起来不错。例如:动画专家喜欢为一秒钟的动画绘制32帧,而我认为4帧就足够了。我不想为了一些没人注意到的东西而牺牲RAM。那么一秒钟的Sprite动画绘制多少帧最好呢?4,6,8,12,16,20,24,32?更新:如果我为新iPad创建高分辨率图形,那么24帧的单个Sprite动画不适合2048x2048像素的纹理图集:(而且我不想有很多这些是出于对RAM的担忧。还是我一开始就认为这里有什么问题? 最佳答
我似乎在计算我的sprite和触摸点之间的角度时遇到了问题。每当用户触摸屏幕时,我都试图让我的Sprite直接面对触摸点的方向。这是我的代码:-(void)ccTouchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{CGPointtapPosition;for(UITouch*touchintouches){CGPointlocation=[touchlocationInView:[touchview]];tapPosition=[selfconvertToNodeSpace:[[CCDirectorsharedDirector]co
我的SpriteKit游戏中有一个sprites.atlas,这是我第一次尝试。在其他游戏库中,如cocos2d,通过创建spritesheet并使用像pvr这样的优化格式可以节省很多。所以我在构建游戏后查看了派生数据文件夹,并在编译游戏中找到了sprites.atlasc文件夹。该文件夹包含一个从我的个人.pngAssets编译的Sprite表(耶!)。我注意到编译后的表格是一个.png文件,出于好奇我决定将它上传到http://tinypng.com,发现图像可以轻松压缩77%。这向我表明,要么我没有看到最终Assets,要么我没有正确调整某些设置,要么.atlas文件仍然不如创建
我添加了一个背景SKSpriteNode作为我的SKScene的child。这个节点本身有一些子节点。每个child都有一些彩色像素以及完全透明的像素。子节点在屏幕上移动,有时会相互交叉。我想让children移动时的相交彩色区域完全透明,以便背景Sprite显示出来。对于每个child的非交叉区域,节点应该显示为正常。我尝试使用混合模式,但无法获得预期的效果。任何想法如何做到这一点?或者,有没有办法在SpriteKit之外执行此操作?谢谢 最佳答案 我不认为有命令可以实现你想要的。您可以更改Sprite的整个纹理/图像,可以使用滤
我想在触摸屏幕时移动spritebody,但它不能发生......-(void)ccTouchEnded:(UITouch*)touchwithEvent:(UIEvent*)event{for(b2Body*b=world->GetBodyList();b;b=b->GetNext()){CGPointlocation=[touchlocationInView:[touchview]];location=[[CCDirectorsharedDirector]convertToGL:location];b2Vec2locationWorld=b2Vec2(location.x/PTM_