草庐IT

Sprite-Kit

全部标签

ios - 点击或拖动时缩放节点功能不一致

我希望我的SKSprite节点在被点击并在屏幕上拖动时放大(放大)。当用户移除触摸输入时,他们需要缩小最后一个位置。这是我现在用来实现此效果的代码:overridefunctouchesBegan(_touches:Set,withevent:UIEvent?){fortouchintouches{letlocation=touch.location(in:self)letcard=atPoint(location)as?Cardifcard?.cardType==.main{card?.zPosition=30card?.run(SKAction.scale(to:1.3,durat

ios - Cocos2d Sprite 连续

我正在尝试创建一个与游戏一起流动的背景。但是图像不是连续的。每个图像加载之间都有一个空间。我希望图像继续循环播放。这是创建Sprite的方法CCSprite*sprite=[CCSpritespriteWithFile:@"Image.png"rect:CGRectMake(0,0,960,640)];ccTexParamstp={GL_NEAREST,GL_NEAREST,GL_REPEAT,GL_REPEAT};[sprite.texturesetTexParameters:&tp];sprite.anchorPoint=ccp(1.0f/8.0f,0);sprite.positi

ios - 具有深度测试的 OpenGL 点 Sprite - 混合问题?

我正在渲染点Sprite(在iOS上使用OpenGLES2.0)作为用户的绘图笔画。我将这些点存储在顶点缓冲区对象中,这样我就需要执行深度测试,以便在提交绘图时Sprite以正确的顺序出现。我在渲染这些绘图笔触时看到了一个奇怪的效果,如下面的屏幕截图所示:请注意蓝色描边边缘周围的背景色“边框”,它绘制在绿色之上。用户在绿色笔划之后绘制了蓝色笔划,但是当重绘VBO时,蓝色笔划首先被绘制。在绘制绿色笔划时,深度测试开始,发现它应该在蓝色笔划后面,所以这样做,一些成功。在我看来是某种混合问题,或者与片段着色器中错误计算颜色有关?所有笔画的边缘都应该是透明的,但是看起来片段着色器在处理这些片段

IOS sprite 套件 didBeginContact 未调用

请帮助我,我已经尝试解决这个问题24小时了,我快要疯了:)我试图通过didBeginContact委托(delegate)方法检测SpriteKit中的碰撞,但是这个方法没有触发,网上的答案我都试过了#import"MyScene.h"#import"GameOverScene.h"staticconstuint32_tbasketCategory=1//@interfaceMyScene()@propertyBOOLcontentCreated;@property(nonatomic)SKSpriteNode*basket;@property(nonatomic)SKSpriteNo

ios - 如何在 SKScene 转换之间设置微调器?

我有一个非常重量级的场景,需要大约5秒才能加载。我希望在等待加载时出现一些带有微调器的加载屏幕-什么是优雅的解决方案?我应该制作中间场景并在场景加载时在其上显示微调器吗?我可以在后台线程中分配和初始化场景吗?这是我现在的做法:MyScene*newScene=[[MyScenealloc]initWithSize:self.size];SKTransition*transition=[SKTransitionflipHorizontalWithDuration:1.0];[self.viewpresentScene:newScenetransition:transition];但只要我

ios - 使用带有参数的执行选择器创建 SKAction

我想创建一个增加尺寸的墙。但是当我增加物理体的尺寸时,它不会跟随(它保持相同的尺寸)。所以我有一个想法,一个永远重复的SKAction执行一个选择器,它根据对象的大小调整我的物理体的大小。所以我想编写如下代码:-(void)sizeChange:(SKSpriteNode*)sprite{sprite.physicsbody=[SKPhysicsBodybodyWithRectangleOfSize:sprite.size];}现在我想运行一个执行选择器的SKAction。所以我写了这个:SKAction*perform=[SKActionperformSelector:@select

ios - 在 spritekit 游戏中绘制动态贝塞尔曲线 - 最佳(性能)方法?

我不是iOS开发人员,我刚开始实现我的游戏,我在flash中完成的,希望使用native环境它会非常快。该项目是一款2d游戏,具有大量基于用户交互的动态贝塞尔曲线图。基本上我画的是动态Blob(变形虫类型的形状)。首先我尝试了Swift,它与actionscript非常相似,但事实证明,在Xcode6的最终版本发布之前,Apple将无法接受使用Swift构建的应用程序,因为我想在9月之前发布我的游戏,所以我去了objective-c路线。我想使用spritekit,因为它集成了物理引擎、sprite层次结构等。我试过用SKSphapeNode来画图,但是我很快意识到,它不适合我的需要。

ios - 如何使用滑动手势移动 Sprite ?

如何通过向左滑动将Sprite移动到左侧,通过向右滑动将Sprite移动到右侧等等?就像我向左滑动一样,我的Sprite向左移动20点。我正在使用SpriteKit和Swift。 最佳答案 谢谢!@jonogilmour我是这样解决的:letright=SKAction.moveByX(64,y:0,duration:0.6)letleft=SKAction.moveByX(-64,y:0,duration:0.6)letup=SKAction.moveByX(0,y:64,duration:0.6)letdown=SKAction

ios - 试图制作我可以从下面跳过去但落在上面的平台。无法微调逻辑

我的目标是在.sks文件中设置我的所有平台,以便更轻松地设计我的关卡。这是在didMove之前在gamescene.swift的顶部声明的:privatevarJumpThroughPlatformObject=SKSpriteNode()这是在DidMove中:ifletJumpThroughPlatformObjectNode=self.childNode(withName:"//jumpThroughPlatform1")as?SKSpriteNode{JumpThroughPlatformObject=JumpThroughPlatformObjectNode}我引用平台以从.

ios - 我小时候在我的玩家类中为我的玩家制作了一个 Hitbox Sprite 。我如何在 gamescene 的 didBegin 方法中访问那个 hitbox Sprite ?

这个“hitbox”的目的是让玩家只能在地面/平台上行走时跳跃。hitbox比玩家宽一点,并且在玩家的脚上。这是我的播放器类:classPlayer:SKSpriteNode{letmaxPlayerSpeed:CGFloat=300staticvarisPlayerOnGround=falseinit(){//playerstexturelettexture=SKTexture(imageNamed:"playerMove1")super.init(texture:texture,color:SKColor.clear,size:texture.size())//hitboxthat