草庐IT

point-sprites

全部标签

swift - 着色器不在我的 Sprite 之上

我试图了解如何在SpriteKit中应用着色器,因此我制作了以下来自指南的着色器并进行了一些改编(http://battleofbrothers.com/sirryan/understanding-shaders-in-spritekit):voidmain(){vec4val=texture2D(u_texture,v_tex_coord);if(val.a==1.0){gl_FragColor=vec4(1.0,1.0,1.0,1.0);}else{gl_FragColor=val;}}这个简单着色器的想法是将Sprite节点的每个非透明像素转换为白色。着色器与我的sprite节点

ios - UITapGestureRecognizer - 检测点击位置是否有 Sprite (快速)

我正在制作iOS游戏,需要知道如何获取uitapgesturerecognizer的点击位置。我不想想使用touchesBegan、touchesEnded等。我还需要知道如何检查用户是否双击了sprite节点。我已经设置了uitapgesturerecognizer,我只需要知道如何找到触摸的位置并查看它是否与sprite节点的位置相同。非常感谢任何帮助! 最佳答案 假设您的sprite是从UIView继承的类(我认为它们通常是),手势识别器的处理函数应该如下所示。funchandleDoubleTap(gestureRecogn

ios - 应用程序崩溃。日志显示原因 : 'Invalid query. You must not specify a starting point before specifying the order by.'

我正在尝试通过设置限制获取数据并根据时间戳对数据进行排序,但在运行应用程序时崩溃并显示此错误消息:查询无效。在指定顺序之前不得指定起点。我不知道为什么会这样。如何解决?我需要数据序列和排序。if(self.snapLastkey==""){self.arrayTask=[]self.arrayKeys=[]self.arraySelectedTask=[]query=taskRef.whereField(kUUID,isEqualTo:userID).whereField(kIsCompleted,isEqualTo:false).limit(to:kLimit).order(by:k

ios - Swift 和 Sprite Kit - 如何测量 Sprite 移动的总距离?

在我的游戏中,玩家Sprite连续向上移动,因为我在更新函数中设置了Sprite的速度:overridefuncupdate(_currentTime:TimeInterval){...player.physicsBody!.velocity.dy=max(player.physicsBody!.velocity.dy,650*gameGain)}现在我想测量Sprite走过的总距离。有什么方法/方法可以这样做,还是我必须创建一个变量来手动计算距离,例如vardistance:Floatoverridefuncupdate(_currentTime:TimeInterval){play

3D点云处理:3D边缘提取(源码) Detecting Holes in Point Set Surfaces

文章目录0.测试效果1.基本原理2.代码实现过程通过kdTree算法确定检测点pip_ip

swift/ Sprite 套件 : Play music through specific scenes

我有一个游戏,其中有几个教程场景。我可以使用AVFoundation和AVAudioPlayer()为每个场景添加音乐。我需要做的是能够在特定场景中启动音乐,并让它仅在相关场景的背景中继续播放。例如:在教程菜单中启动tutorialMusic继续tutorialMusic教程A继续教程B中的tutorialMusic在教程菜单中继续tutorialMusic停止tutorialMusic并在主菜单中播放mainMenuMusic我尝试过的我尝试将AVAudioPlayer()放在ViewController中,但我发现它会传播到每个场景,无论它是什么。我也找不到ViewControll

Swift SpriteKit 使用 struct 而不是 class 来渲染 Sprite

我最近一直在更新我的游戏以使用更多的值类型。在某些情况下,我对weak和unowned仍然不是100%有信心,所以我采用结构方式来避免强引用循环。根据apples较新的主题演讲,值类型似乎是大多数情况下的方法。我从未见过在spriteKit游戏中使用结构来渲染Sprite的示例,所以我想知道有什么缺点。我知道它们是复制的而不是引用的,但对于我的使用来说它似乎有效。所以基本上我在做这个的时候有什么需要注意的地方structFlag{letpost:SKSpriteNodeletflag:SKSpriteNodeinit(postImage:String,flagImage:String)

swift - 将多个 Sprite 图像转换为一个

在我正在测试的应用程序中,我使用渐变图像作为背景(大小为590kb)。我有能力将此图像分解为0.5像素的垂直strip(19kb)并让此图像自身重复(1334次)以创建相同的更大背景图像。我总共有20张不同的背景图片,因此应用程序的存储空间使用量为11.8mbvs380kb。我不喜欢拥有1334个Sprite的想法,但我喜欢使用更少存储空间的想法。那么,有没有办法将1334张图像拼合成一个Sprite?不确定这是否有意义,但任何朝着正确方向的插入都会受到赞赏。 最佳答案 如果你想有一个渐变,你根本不必使用图像。看看这个:letcon

ios - 尝试通过按下按钮将 sprite 的 zRotation 增加 1 度时旋转不正确

我有一个简单的矩形Sprite,每次按下屏幕上的按钮时,我都想将这个Sprite旋转1度。我有一些我希望可以工作的简单代码,但它给出了奇怪的结果。不是将矩形旋转1度,而是每次点击至少将其旋转180-270度。vardegrees=0overridefunctouchesBegan(_touches:Set,withevent:UIEvent?){lettouch=touches.firstlettouchLocation=touch!.location(in:self)letbeam=childNode(withName:"beam")as!SKSpriteNodeifletbody=

swift - Sprite 节点的起始位置

我正在使用以下代码使Sprite节点在Xcodespritekit中绕圈移动。letcircleDiameter=CGFloat(100)//centerourpathbasedonourspritesinitialpositionletpathCenterPoint=CGPoint(x:object.position.x-circleDiameter,y:object.position.y-circleDiameter/2)//createthepathourspritewilltravelalongletcirclePath=CGPath(ellipseIn:CGRect(orig