草庐IT

sprite-kit

全部标签

c++ - 如何减慢 Sprite 动画的速度?

目前我有这个player.cpp类,我正在使用我的Sprite动画。我正在使用计数器来更新每一帧。它有动画,但它在动画中飞来飞去。我想放慢速度。我找到了可用于减慢sprite动画的代码,但我不确定如何将其实现到我当前的程序中。下面是我的player.cpp文件,后面是我发现可以减慢Sprite动画速度的代码。当我尝试向counterWalking++添加时钟时,它根本没有动画,我已经尝试实现此代码以达到相同的效果。player::player(){rect.setSize(sf::Vector2f(32,32));rect.setFillColor(sf::Color::White);

c++ - 如何通过计算新的 x 和 y 位置来围绕其中心旋转 Sprite ?

我正在使用DarkGDK和C++创建一个简单的2d游戏。我正在旋转一个对象,但它从sprite的左上角开始旋转。我有以下可用变量:播放器X玩家Y播放器宽度玩家高度旋转角度(360>x>0)是否有一种算法可以修改Sprite的枢轴点,而不是中心点?这是一个小代码示例:voidPlayer::Move(void){if(checkLeft()){PlayerX-=PlayerSpeed;if(PlayerX800-PlayerWidth)PlayerX=800-PlayerWidth;}if(checkUp()){PlayerY-=PlayerSpeed;if(PlayerY600-Pla

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%的时间它适用于所有平台,他可以跳