草庐IT

Sprite-Kit

全部标签

swift - 如何不断检查 bool 的值是否为 true/false? swift

你好,我的问题很简单,我必须不断检查bool的值是真还是假,到目前为止我尝试的是使用:overridefuncupdate(_currentTime:TimeInterval)功能swift,它是快速的方式,一旦它检查值,它将不断重复该Action,即使我只希望它只执行一次Action,所以基本上我想说的是我想要的要做的是检查一次bool值是真还是假,然后停止检查,直到它再次发生变化。请帮助,谢谢。 最佳答案 属性观察员您可以在Swift中使用PropertyObservers来完成您需要的...以下是文档中关于这些的内容:Prop

ios - 更改 SKPhysicsBody 参数无效

我尝试模拟不同类型球(足球、网球、高尔夫、Volley等)的行为。为了这些目的,我试图改变物理体的密度、质量、尺寸参数。在我的游戏中它没有效果,我试图在非常简单的应用程序中模拟它,包括球和Racket无论质量、密度、大小如何,球总是以相同的速度上升到相同的高度这是因为恢复原状等于1吗?如何以这种方式模拟不同球类型的行为? 最佳答案 您需要更改恢复属性以及Lin。阻尼和昂。每个球的阻尼以我为例网球-静止0.6线0.2角0.2足球-休息。0.5林0.3角0.2高尔夫球-静止0.8lin0.3ang0.3铅球-休息0.1lin0.1ang

ios - SpriteKit - 安全区域布局 Iphone X

所以,目前我有一个游戏,我用spritekit制作并使用这种方式让所有东西都适合屏幕尺寸:buyButton=SKSpriteNode(texture:SKTexture(imageNamed:"BuyButton"),color:.clear,size:CGSize(width:frame.maxX/2.9,height:frame.maxY/10))buyButton.position=CGPoint(x:-frame.maxX+frame.midX*2,y:-frame.maxY+frame.midY*1.655)addChild(buyButton)如您所见,它使用框架来计算宽

ios - SpriteKit - 动画 SKShapeNode 形状路径

目前我正在使用CoreGraphics制作形状,并使用CAShapeLayer和CABasicAnimation路径动画将形状转换为不同的形状。但是由于游戏的复杂性,如果要使用SKShapeNode介入SpritKit,(丢弃CAShapeLayer并使用SKShapeNode)我能否顺利地将其动画化为不同的形状?我没有看到可以让您更改SKShapeNode路径的SKAction方法。提前致谢。 最佳答案 嗯。节日快乐。最简单的方法是使用CALayerAnimation来教SKNode如何像这样操作:classViewControl

objective-c - SpriteKit 中的 CCBlinkTo

如何在Sprite-Kit中实现类似CCBlink的Action?我想要2次眨眼10次。idblink=[CCBlinkactionWithDuration:2.0fblinks:10];idcalBck=[CCCallBlockactionWithBlock:^{[enemyexpired];}];[HeroSpriterunAction:[CCSequenceactions:blink,calBck,nil]]; 最佳答案 此示例使用alpha属性来创建闪烁效果。您也可以使用hidden属性和runBlock操作,正如@Lear

【HMS Core】Push Kit推送是否支持多版本统一发送

【问题描述】如果应用同时包含鸿蒙版,安卓版,苹果版,那么,这个推送是否支持一个请求同时推这三种。【问题分析】1、推送接口中需要设置appid,而每个应用都有不同的appid,token也是跟应用对应的,所以无法一次请求为多个应用推送消息。2、需要项目设置->应用目录下APPID、ClientID、ClientSecret等参数。【解决方案】不支持欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

ios - swift SKSpriteNode : Detect Tap/DoubleTap/LongPress

我正在尝试创建SKSpriteNode的子类,它可以检测用户交互(点击、双击并按住),然后遵从委托(delegate)。在我看来,这是一个相对普遍的需求,但是:代码无法在不触发单击的情况下检测双击。我还没有找到检测按住/长按操作的方法。我是不是做错了?我不禁觉得SpriteKit应该有一些标准来处理如此基本的事情。我知道有UIGestureRecognizer,但它似乎与特定的SKNodes而不是UIViews不太兼容。这是我目前拥有的。基于Apple的示例,我在主类文件中包含所有非设备特定代码:importSpriteKitenumActionType:Int{caseSinglec

ios - 沿其中心旋转 SKShapeNode

我有一个SKShapeNode(在本例中为矩形),我试图沿其中心旋转。然而它是沿着屏幕的左下角旋转的。由于我无法为SKShapeNode设置anchor,我该如何实现我的要求(沿其中心旋转形状)。这是我正在尝试的代码。letrectangle=SKShapeNode()rectangle.path=UIBezierPath(rect:CGRectMake(view.frame.width/4,view.frame.height/2,view.frame.width/2,view.frame.width/2)).CGPathrectangle.fillColor=UIColor.yell

ios - 调整和缩放 SKSpriteNode

我的iOS游戏中有多个游戏对象,其中一些的分辨率比其他的高。用于游戏对象的图形是在运行时随机选择的。我想确保它们在使用时都不会超过一定的尺寸,所以我设计了以下算法:whileself.spriteNode.rSize.width>100&&self.spriteNode.rSize.height>100{self.xScale-=0.01self.yScale-=0.01}其中spriteNode是纹理为图形的对象,rSize是SKSpriteNode上的扩展计算属性,返回节点累积帧的大小。通常,这会导致无限循环。有什么问题?更新1根据LearnCocos2D的评论,我尝试了以下方法:

ios - 在 iOS 上的 SpriteKit 中,缩放带纹理的 Sprite 会产生不正确的帧?

我学习SpriteKit游戏开发是为了好玩,但我遇到了一个看似简单的问题,却让我很困惑。基本上,在我缩放一个带纹理的SKSpriteNode之后,框架不是我所期望的。我已经想出了一些技巧来强制它达到我想要的效果,但我试图了解发生了什么。任何想法表示赞赏!这是我没有缩放的代码:funcaddSpaceship(){letspaceship=SKSpriteNode.init(imageNamed:"rocketship.png")spaceship.name="spaceship"//spaceship.setScale(0.50)letdebugFrame=SKShapeNode.in