草庐IT

Sprite-kit

全部标签

c++ - OpenGL Sprite 绘制质量低

我正在尝试使用openglglsl和glm库渲染Sprite。当我使用glBegin、glEnd在旧管道中渲染Sprite时,一切都很好,但是当我使用着色器时,在旋转Sprite后,它的绘制质量非常差,如图所示:http://sm.uploads.im/t/I3lpf.png我的渲染代码:GLuintp;GLuintvertex_shader,fragment_shader;GLuintVBO,VAO;glm::mat4projection_matrix=glm::ortho(0.0F,640.0F,480.0F,0.0F,-1.0F,1.0F);voidsprite_init(){p

c++ - 更新 Sprite 位置的奇怪行为

我正在使用SDL库用C++编写一个简单的roguelike游戏,但在屏幕上移动我的角色时遇到了一些问题。每次需要渲染一帧时,我都会使用update()函数更新Sprite的位置,如果玩家静止不动,该函数不会执行任何操作。为了发出移动命令,从而启动动画,我使用了step()函数,每个玩家从一个图block移动到另一个图block时只调用一次。收到“向上”命令后,游戏运行良好,角色在一秒钟内平稳移动到新位置。不过,当“向下”的命令下达后,他的移动速度会减半,而且显然在一秒过去后,瞬间就被“传送”到了最终的位置,身形骤然一闪。运动的代码基本上是相同的,但事实上,在一种情况下增量运动被加到y位

处理 1,000,000 个 2D Sprite 的 C++ 2D 图形库?

我正在尝试做一个需要处理大量简单二维对象的项目,当然还需要绘制它们。为此,我需要一个可以处理大量“Sprite”的优秀C++库。我一直在试用Qt,因为我认为他们的“40,000芯片”演示非常令人印象深刻。然而,稍微玩一下,我的电脑似乎在管理160,000个芯片时遇到了很多麻烦。我不知道它为什么慢的技术细节(CPU?糟糕的OpenGL的GPU使用?Qt对大量项目不好?)因此,我一直在网上搜索适合我需要的库。但我找不到任何东西,主要是因为没有图书馆似乎会说“嘿,我擅长管理1,000,000个对象!”,但我确信有些图书馆比其他图书馆更有能力。我不需要像SDL这样“好”的库,如果我没有操纵杆支

ios - SKScene : Move & resize debugging fields

我在场景中启用了调试字段,例如:skView.showsFPS=YES;skView.showsNodeCountYES;不幸的是,位置、大小和文本颜色不适用于我的场景,而且调试文本很难阅读。我想将它们移出右下角,理想情况下,让它们变大。我想也许它们是子节点或subview,所以我尝试了以下操作,但两次检查都是空的。-(void)didMoveToView:(SKView*)view{NSArray*subViews=[viewsubviews];for(UIView*subViewinsubViews){NSLog(@"Nodeat%.0f,%.0f",subView.frame.o

ios - Spritekit 不会显示呈现的场景

我有问题。当我在spritekit中呈现一个新场景(带有objective-c)时,它仅在屏幕上显示带有节点和fps计数的灰色。我在.sks文件中对场景进行了动画处理,所以它看起来不应该像这样。我呈现新场景时的过渡也有效,但它不会显示我在.sks文件中设置动画的图像和背景。这是我如何操作的代码。//Ingameviewcontroller.m//Creatingandconfiguringthescene.GameScene*Level1=[GameScenenodeWithFileNamed:@"GameSceneLevel1"];Level1.scaleMode=SKSceneSc

ios - 在 SKScene、iOS、Swift 中获取/设置像素颜色

我正在尝试编写一个处理像素的iOS游戏。我发现我可以使用提到的方法获得像素颜色here,还有其他获取图像像素颜色的方法。但是我找不到任何关于在SKScene中获取像素颜色的信息。Asnoanswerforthisquestion我想这与在UIView中使用的方法非常相似,但我不熟悉Swift中的像素编码。这是我用来在UIView中获取像素颜色的方法:funcgetPixelColorAtPoint(point:CGPoint)->UIColor{letpixel=UnsafeMutablePointer.alloc(4)letcolorSpace=CGColorSpaceCreateD

ios - SpriteKit - Objective C - 相机约束

我目前正在使用ObjectiveC开发一个spriteKit2D游戏。这是一款类似于super马里奥的拼图游戏。我的相机有问题。我添加了一个跟随我的玩家的摄像机,但是当玩家靠近场景边缘时,摄像机超出范围。设置相机很容易。-(void)didMoveToView:(SKView*)view{//addCameramainCamera=[SKCameraNodenode];self.camera=mainCamera;}然后在:-(void)update:(NSTimeInterval)currentTime{[superupdate:currentTime];mainCamera.pos

ios - SpriteKit 和 Swift,如果条件为真,则将平台设置为 nil 将不起作用

您好,我正在使用swift在spritekit中制作一个简单的2dsidescroller游戏,我遇到了一个我无法解决的问题。我有一个名为(createPlatforms)的函数来生成一些平台(每个平台都在另一个平台之上)并且平台从右到左移动。我还添加了一个名为isJumping的Bool变量,我希望如果变量isJumping为真,则平台physicsbody的值为nil,以便玩家可以跳到它上面并降落在它上面。我有点设法做到了。它适用于第一个平台,但不适用于其他平台。玩家跳到第一个平台上方并降落在上面,但他不能跳到第二个或第三个平台上方。有时大约有10%的时间它适用于所有平台,他可以跳

ios - SpriteKit : Is there a way to centre a SKLabelNode according to its baseline

一个标签有四个不同的verticalAlignmentMode:.Baseline,.Bottom,.Center和.Top.我希望标签根据其基线以其位置为中心。.Center对我不起作用,因为框架的底部不是文本的基线,而是最低字母的底部(例如“y”)。我也尝试过使用.Baseline并从y位置减去框架高度的一半,但这也不起作用,导致与.Center相同的问题.我试图居中的标签中的文本是“播放!”。将模式设置为“.Center”会使文本略高于我想要的高度,这一点非常明显。将文本更改为“Pla!”解决了这个问题,因为'y'被删除并且没有字符卡在基线以下(虽然我显然不能这样做作为解决方案)

ios - 将 SKCameraNode 用于通用应用程序 SWIFT

我在Xcode8beta4上使用SpriteKit关卡编辑器开发了一款通用游戏。我在关卡编辑器中的场景是750x3334。在我的场景中,我有一张背景图片,背景图片会根据场景大小进行调整。场景anchor=(0,1)左上背景anchor=(0,1)左上角。我的场景中需要一个相机。我设置了一个比例为(1,1)的SKCameraNode,相机的位置是我场景的中心。创建场景:ifletscene=GKScene(fileNamed:"GameScene"){ifletsceneNode=scene.rootNodeas!GameScene?{//Copygameplayrelatedconte