Tag: 雪碧套件

如何以随机顺序以逐渐增加的速度添加和设置来自屏幕底部的无数个对象?

我有3个不同的精灵。 我想要不断地从屏幕底部进入这三个不同的精灵,随着进入的对象数量的增加而增加速度。 另外,三者应该随机排列。 所以,我尝试了下面的代码来获得三个精灵的任何随机顺序,但它没有按预期工作: int randomNumber; for (int i = 1; i<500; i++) { randomNumber = arc4random_uniform(3); NSLog(@"Value of random Number %d" ,randomNumber); if (randomNumber == 0) { [self addRedBall]; SKAction *moveBall = [SKAction moveToY:CGRectGetMaxY(self.frame) duration:5]; dispatch_queue_t actionDispatchRed; actionDispatchRed = dispatch_queue_create("com.redball.dispatch", NULL); dispatch_async(actionDispatchRed, ^ { [redBall runAction:moveBall]; }); [NSThread sleepForTimeInterval:2]; //Time interval to wait before […]

SpriteKit Objective-C:编程方向键控制

所以让我直截了当地说:我想实现的是我的SpriteKit游戏以方向键的forms进行控制。 我想让它工作,例如,你可以拿着一个button,然后滑动你的手指到另一个button,以便第一个button被释放,而另一个button被按下(就像在物理游戏中一样控制器)。 我看到这是在许多现有的游戏(Carmageddon,Minecraft PE)上实现的,所以可以肯定。 我一直在尝试使用简单的touchesBegan和touchesEnded,但这里的问题是, 一旦你将手指从第一个button移动到第二个,第二个button不会被按下,而第一个button保持“按下“状态,直到你停止触摸屏幕 。 我也尝试过使用touchesMoved来检测触摸位置是否已经改变,但是却造成了很多的各种错误。 请把我推向正确的方向。 我希望我所要求的是(我正在使用Objective-C)。

雪碧套件skview.showPhysics错误?

这里是设置字符物理体的代码。 character.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:character.size]; 它工作正常,我的意思是它保持在我想要的位置,但正如你所看到的,它在屏幕截图的左下方显示了character的物理实体(这是灰色框)。 这是一个错误,还是可以解决这个问题?

如何检查互联网连接之前显示一个选项来查看激励的应用程序?

对于我目前使用OBJECTIVE-C编码的精灵套件游戏,我想先查看networking连接,然后再向用户提供查看激励广告的选项。 我将如何做到这一点? 我只想要用户连接到互联网时出现的选项。

分数标签显示值覆盖

当分数更新时,新的分数值标签会覆盖显示器上的旧分数值,因为这个分数是不可读的,所以如何更新新分数? 这里我得到了什么: SKLabelNode *ScoreLabel; NSInteger score = 0; —————————– -(void)Scoring{ score = score +1; ScoreLabel = [SKLabelNode labelNodeWithFontNamed:@"Arial"]; ScoreLabel.position = CGPointMake(CGRectGetMidX(self.frame), 960); ScoreLabel.text = [NSString stringWithFormat:@"%ld",(long)score]; [self addChild:ScoreLabel]; }

Sprite Kit – 定义多个场景的variables

我有两个有关多层次场景的问题。 有不同级别的多个场景。 所有这些场景都使用相同的位掩码类别和在.h文件中定义的其他variables。 有没有办法在一个单一的文件中定义位掩码类别和其他variables,而不是每个级别的场景的.h文件? 在关卡场景的更新方法中,我检测浮点“score”是否大于或等于100.如果是这种情况,请将场景更改为下一个关卡。 但是因为更新方法每帧运行,它只是冻结,并试图一遍又一遍地改变场景。 有没有办法在update方法中只运行一次if语句?

如何实现SKActionTimingFunction?

你如何在objective-c中实现SKActionTimingFunction? 我到处寻找,我只是迅速find了一个例子。 谢谢!

SKSpriteNode的位置

我正在尝试(学习如何)使用SpriteKit构build游戏,而且遇到了一个困扰我几个小时的问题。 我有一个类名为坦克与下面的构造函数: + (instancetype)tankAtPosition:(CGPoint)position { Tank *tank = [self spriteNodeWithImageNamed:@"tank_base_1"]; tank.position = position; tank.anchorPoint = CGPointMake(0.5, 0.5); return tank; } 在我的场景中,我有以下的构造函数: -(id)initWithSize:(CGSize)size { if (self = [super initWithSize:size]) { SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"level_bg_1"]; background.xScale = 0.40f; background.yScale = 0.40f; background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); [self addChild:background]; Tank *tank = [Tank tankAtPosition:CGPointMake(CGRectGetMidX(self.frame), 512)]; [self addChild:tank]; } […]

SpriteKit中有多个不同的碰撞问题(使用Xcode编写Objective-C的iOS应用程序)

我目前在Objective-C中构build一个iOS应用程序。 应用程序的想法是,你有某种types的火箭飞船通过一个小行星带。 它以纵向模式播放。 现在有两种不同的小行星。 正常的那些,当你撞到他们时会让你失去知觉,而那些金色的东西会被射到硬币上。 对于碰撞,我使用Ray Wenderlich SpriteKit教程中的代码。 类别是这样设置的: static const uint32_t playerCategory = 0x1 << 0; static const uint32_t asteroidCategory = 0x1 << 1; 运行的代码是这样的: – (void)player:(SKSpriteNode *)player didCollideWithAsteroid:(SKSpriteNode *)asteroid { [self runAction:[SKAction playSoundFileNamed:@"Explosion.mp3" waitForCompletion:NO]]; NSLog(@"Hit"); [self.player removeFromParent]; [asteroid removeFromParent]; SKAction *actionMoveDone = [SKAction removeFromParent]; SKAction * loseAction = [SKAction runBlock:^{ SKTransition *reveal = […]

落在地面的字符

我使用sprite工具包作为基本游戏的一部分。 游戏是有一个人,根据你点击的位置,移动到那个位置。 目前,玩家不受重力的影响(为了可玩性),但我试图实现引力。 但是,当我真的把重心转移到玩家身上时,我的angular色就​​会陷入困境。 我已经创build了一个地面节点,并禁用了地面物理(ground.physicsBody.dynamic = NO),但angular色仍然飞行通过。 我正在使用内置的精灵套件重力function,如果物理被禁用,理论上angular色应该停在地面。 我不知道为什么问题仍然存在,并希望在这个问题上得到一些帮助。 MyScene.m文件中的代码: // // MyScene.m // DodgeMan // // Created by Cormac Chester on 3/8/14. // Copyright (c) 2014 Testman Industries. All rights reserved. // #import "MyScene.h" #import "EndGameScene.h" static const uint32_t redBallCategory = 0x1 << 0; static const uint32_t playerCategory = 0x1 << 1; @implementation MyScene […]