草庐IT

SkSpriteNode

全部标签

ios - 无法点击 SKSpriteNode - 未检测到触摸 ios

我对iOS、ObjectiveC和Xcode还很陌生。我只做了一个简单的新闻类应用程序,但现在我想创建一个我在另一个平台上发布的游戏。基本上,我有一个随机出现然后淡出的对象,目的是点击该对象使其消失。但是我似乎无法点击对象,即使我设置了mySKSpriteNode.userInteractionEnabled=YES;这是我的touchesBegan方法中的内容:-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{/*Calledwhenatouchbegins*/NSLog(@"Somethingwastouche

ios - 带有来自 URL 的 UIImage 的 SKSpriteNode

我正在尝试将图像流式传输到GPU,并使用SKSpriteNode。这些图像不在我的包中,我想知道是否有某种方法可以使用UIImage而不是imageNamed:我目前的想法是URL->NSData->UIImage->addToFile:->imageNamed:我可以添加到路径并以这种方式调用图像吗?或者当UIImage未包含在包中时,按名称动态引用UIImage的最佳方式(是否可能)是什么? 最佳答案 所以,显然SKTexture可以容纳UIImage,我最终得到了一些类似的东西NSString*urlString=@"http

ios - 我可以为 SKSpriteNode 添加边框,类似于 UIView 吗?

我很感兴趣是否可以制作SKSpriteNode来模仿UIView的行为,我可以在其中指定边界和角半径?self.view.layer.borderColor=[UIColorlightGrayColor].CGColor;self.view.layer.borderWidth=2;self.view.layer.cornerRadius=2;self.view.layer.masksToBounds=YES; 最佳答案 以下是SKSpriteNode的一个简单的直接扩展,它允许您在节点周围绘制具有给定颜色的边框。importSpri

iphone - 困惑 : SKSpriteNode & SKTexture difference.

我对SKSpriteNode和SKTexture节点感到困惑。我在教程中看到SKSpriteNode可用于添加图像,例如[SKSpriteNodespritenodewithimagename:@"someimag"];同样的事情在SKTexture中发生,如[SKTexturetexturewithimge/file];纹理和图像之间有什么区别。如果我们使用SKSpriteNode添加图像,那么使用SKTexture的原因是什么,或者如果我们使用SKTexture和TextureAtlases,那么为什么我们要在SKSpriteNode中添加要添加的图像。迷茫了,这两者有什么区别。

ios - Spritekit 在 SKSpriteNode 子类中获取 Sprite 场景的最佳方法

我正在子类化SKSpritenode并且需要引用Sprite的场景。有没有办法检测Sprite何时被添加到场景中。letgameScene=self.sceneasGameScene在init中执行此操作会引发可选错误,因为我的Sprite已实例化但未添加到场景中。如何判断我的sprite何时已添加到场景中以便设置属性? 最佳答案 通常我创建addToNode:(SKNode*)parentNode方法来处理:-(void)addtoNode:(SKNode*)parentNode{[parentNodeaddChild:self]

xcode - SKSpriteNode 通过触摸拖动移动

我正在尝试通过触摸屏幕在屏幕上拖动一个SKSpirteNode。但我希望能够不断移动Sprite,目前我的代码仅将Sprite移动到我触摸的位置,但如果我按住并移动Sprite,则不会跟随。此外,我不想“不得不”触摸SKSpriteNode来激活移动,我想触摸屏幕上的任何位置并从该SKSpriteNode获得移动响应。这是我当前的代码:classGameScene:SKScene{overridefuncdidMoveToView(view:SKView){//SpriteNodeIwanttodragaroundbasket=SKSpriteNode(texture:basketTe

ios - 快速子类化 SKSpriteNode 访问错误

我正在尝试对SKSpriteNode进行子类化,但在运行时出现错误访问错误,我不确定原因。这是我的代码:classPaddle:SKSpriteNode{overrideinit(texture:SKTexture!,color:UIColor!,size:CGSize){super.init(texture:texture,color:color,size:size)}requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}}然后在父类SKScene中,varpaddle=Paddle(texture:SKText

ios - 自定义 SKSpriteNode addChild 不工作

我正在尝试使用SpriteKit和Swift开发一款需要在所有场景中具有共同背景的游戏。由于背景是普通的并且它的Action需要连续,我创建了一个SKSpriteNode的自定义单例子类,如下所示:classBackgroundNode:SKSpriteNode{staticletsharedBackground=BackgroundNode()privateinit(){lettexture=SKTexture(imageNamed:"Background")super.init(texture:texture,color:UIColor.clearColor(),size:text

ios - applyImpulse on SKSpriteNode in touchesBegan 不工作

我对Swift有点陌生。我有这个问题,SpriteNode“Ball”没有对touchesBegan方法中的applyImpulse命令使用react。整体physicsBody工作得很好,重力,恢复等。但是当我使用applyImpulse时什么也没有发生。这是代码:varball=SKSpriteNode()overridefuncdidMoveToView(view:SKView){/*Setupyourscenehere*/self.physicsWorld.gravity=CGVectorMake(0.0,-9.81)//Addtheballball=SKSpriteNode(

ios - 尝试在 y 轴上移动/拖动 SKSpriteNode

我正在尝试创建一个小游戏,里面有一根pipe,我想沿着y轴移动那个pipe,我想做一些手指滑动的事情,我试着用触摸来做开始但它看起来不流畅,所以我尝试使用uipangesture,但不熟悉Sprite集成,谁能帮我实现这个classGameScene:SKScene,SKPhysicsContactDelegate{varpipeTextureUp:SKTexture!varpipeTextureDown:SKTexture!varpipeUp:SKSpriteNode!varpipeDown:SKSpriteNode!varcircleTouch:UITouch?varvertica