我正在SpriteKit中做一个声音切换按钮,我正试图找到一种快速的方法来完成它。我记得在Cocos2d中有一个名为CCMenuItemToggle的变量,它制作了所有东西,例如:CCMenuItemToggle*musicButtonToggle=[CCMenuItemToggleitemWithItems:[NSArrayarrayWithObjects:soundButtonOn,soundButtonOff,nil]block:^(idsender){[selfstopSounds];}];有人知道在SpriteKit上执行此操作的方法吗? 最佳答案
我正在使用SpriteKit渲染一个大的(20x20)点网格,如下所示:我想根据用户输入突出显示行或列。例如,我想将第1-10行更改为红色,或将第5-15列更改为蓝色。执行此操作的最高效方法是什么?我试过:根据其所在的列命名每个GridNode(例如@"column-4)。然后使用enumerateChildNodesWithName:并将字符串作为@"column-n",更改枚举block中每个节点的颜色(通过更改SKShapeNodesetFillColor:)。为所有列提供一个与该列关联的父节点。然后告诉父节点改变它的alpha(从而改变它所有子节点的alpha)。为不同的列创建
我有英雄、地面和table。我想让桌面活跃起来与英雄碰撞和接触。但是英雄应该能够不跳到顶部而只是“穿过”然后跳上它,如果玩家想要它,无论他想要什么。为了更好地说明我正在努力实现的目标——想想马里奥。当你在地面上奔跑时,会出现一些天空平台。你可以在平台中间跳上它并呆在那里。所以我需要物理body在英雄从底部接触时不要阻止他,但如果他在它上面就捕获他。到目前为止,我正在使用带有纹理的主体作为表格:self.table.physicsBody=SKPhysicsBody(texture:table.texture,size:self.table.size)self.table.physics
我正在为我正在开发的iOS游戏创建瓦片map。该map是一个岛屿的俯View。大多数瓷砖是水,但有些是土地。水砖被重复用于创造水,但没有一个地砖被使用超过一次,因为所有的地砖都是独一无二的。我查看了SKTileDefinition、SKTileGroup、SKTileGroupRule、SKTileSet和SKTileMap的文档,这就是我想出的:funccreateTileMap(){letwaterTile=SKTileDefinition(texture:SKTexture(imageNamed:"map-tile-1"))letwaterTileGroup=SKTileGrou
所以我正在制作一款塔防游戏,让拼贴板正常工作并能够在一定程度上放置塔……当玩家点击网格上方的按钮时,它会切换塔的放置,并允许玩家将塔放置在网格内的一个单元格上。然而,每个塔也有一个围绕它的圆形ShapeNode来处理移动到射击范围内的creep的检测。一旦我放置它们,这个形状节点就会在塔周围显示得很好。我用来放置塔的逻辑是它会找到您触摸的节点(名为“cell”)并将其替换为塔节点。但是,如果塔节点附有圆形节点并覆盖其旁边的单元格,我将无法选择圆圈下方的单元格节点。我该如何“穿过”圆圈,或者将其填充空间设置为空,以便我可以访问圆圈下方的单元格?我仍在学习sprite-kit,所以如果有更
我在spriteKit中开始了一款平台游戏,但横向模式有点问题。当我和我的英雄一起跳跃时,我使用-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event当英雄在空中并与墙壁或任何物体碰撞并且错过他的速度时,然后我使用-(void)touchesMoved:(NSSet*)toucheswithEvent:(UIEvent*)event{UITouch*touch=[touchesanyObject];CGPointpositionInScene=[touchlocationInNode:self];SKSpriteNode
我需要一种显示排行榜的方法-最佳用户分数(本地用户,本地分数)。我是否需要为这种事情创建自己的“自己的”节点,或者最好在透明背景的SKView之上使用UITableView? 最佳答案 我使用的方法是:在场景的didMoveToView:方法中,设置一个UIScrollView实例。设置您需要的所有属性,并确保还设置其委托(delegate),设置hidden=YES并将其panGestureREcognizer添加到View手势识别器集合。在willMoveFromView中:将其拆除并清理。在ScrollView委托(deleg
我以这种方式创建了我的SKAction:unicornAction=[SKActionfollowPath:mypathasOffset:NOorientToPath:YESduration:0.1];并将它添加到我的SKSprite:[spriterunAction:[SKActionrepeatActionForever:unicornAction]withKey:@"move"];我这样做是为了随时调整Sprite在路径上的运动速度。当我的sprite到达路径的末端时,我需要一个回调以便我可以删除sprite。我怎样才能得到这样的回调?另外,有没有更好的方法来使用SKAction
我正在编写一段代码,我希望View中有重力,但我希望特定的射弹能够抵抗重力并飞过屏幕。我知道要摆脱整个View的引力,它只是:self.physicsWorld.gravity=CGVectorMake(0,0);但如前所述,我希望现场有重力。所以我想知道是否有办法减轻某个特定元素的重力?(即我的SKSpriteNode_debris项) 最佳答案 通过将physicsBody设置为不受重力影响。例如myNoGravityObject.physicsBody.affectedByGravity=NO;参见documentationo
这个问题在这里已经有了答案:CannothidestatusbariniOS7(26个答案)关闭9年前。我正在使用SpriteKit为iOS编写游戏。我想让游戏全屏,无状态栏等,如何隐藏状态栏?