草庐IT

sktexture

全部标签

ios - SKTexture预加载

当您使用spritekitpreloadTextures函数预加载纹理时,它会立即将提供的数组中的所有纹理加载到内存中。如果您无法在游戏中使用“加载屏幕”拆分关卡,但确实有不同级别的图像文件,那么您如何避免将所有图像一次存储在内存中当spritekit在需要时加载图像时不牺牲帧速率? 最佳答案 您可以创建一个单例类,其中包含用于加载和卸载特定于您当前玩的关卡的资源的方法。例如,如果您有纹理a、b和c需要为级别1加载,纹理x、y和z需要为级别2加载,您可以使用方法-(void)loadLevelOneTextures;和-(void)

ios - 尝试使用 textureWithRect inTexture 仅使用 SKTexture 的一部分

我正在做的是基于完整图像创建一个SKTextureSKTexture*fullTexture=[SKTexturetextureWithImageNamed:@"fullImage"];我想使用fullTexture的整个宽度,但只使用纹理的一部分高度,但是,从完整图像的顶部开始。弄清楚宽度好像是百分比,我用了下面的代码:SKTexture*croppedTexture=[SKTexturetextureWithRect:CGRectMake(0,0,1,percentageY)有人能给我CGRectMake到CROP的正确浮点值吗,从左上角开始,完整的witdt和Y的一部分(固定数量

ios - 为什么我的 SpriteNode 没有被添加到场景中?

我正在制作一个SpriteNode并尝试将其添加到场景中。即使我使用[selfaddChild:child]也不会显示。我只是看不出哪里出错了。这是我的ViewController.m:-(void)viewDidLoad{[superviewDidLoad];//Pausetheview(andthusthegame)whentheappisinterruptedorbackgrounded[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(handleApplicationWillResign

ios keyed archive Sprite Kit 解码错误 : SKTexture: Error loading image resource: "Missing Resource.png"

当我存档SKLabelNodes和SKShapeNodes(我没有尝试过SKSpriteNotes)时没问题,但是当我从存档中提取Sprite时,我得到SKTexture:加载图像资源时出错:“MissingResource.png”。下面是一些演示问题的示例代码:-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){/*Setupyourscenehere*/self.backgroundColor=[SKColorcolorWithRed:0.15green:0.15blue:0.3alpha:1.0];S

ios - 在 SKSpriteNode 上的两个不同 SKTextures 之间淡入淡出

有谁知道是否有办法在SKSpriteNode上的两个不同的SKTexture之间淡出(随着时间的推移)。我假设您不能直接执行此操作并计划使用具有更高ZPosition的重复子Sprite来实现淡入淡出,但我只是想检查是否没有使用的方法>SKAction(s)我已经看过了。 最佳答案 假设新纹理覆盖在旧纹理之上,以下代码应该可以解决这个问题(它不会淡出以前的纹理,而只是淡出新的在上面)。我省略了次要的实现细节,例如计时模式。-(void)fadeTexture:(SKTexture*)newTextureontoSpriteNode:

ios - SpriteKit 有时无法加载 SKTexture

我目前在SpriteKit和SKTexture预加载方面遇到奇怪的间歇性问题。我有多个图像数组,我按以下格式预加载:-(NSDictionary*)loadTexturesWithNames:(NSArray*)aNames{NSMutableDictionary*dict=[NSMutableDictionarydictionary];NSMutableArray*textureArray=[NSMutableArrayarray];for(NSString*textureNameinaNames){SKTexture*texture=[SKTexturetextureWithIma

ios - 将生成的 SKTexture 保存到文件

I'venowfiledabugfortheissuebelow.Anyonewithagoodworkaround?我尝试将SKTexture保存到文件中,然后再次加载它,但我没有成功。可以将以下代码片段复制到Xcode启动项目中的GameScene.m。我在generateTexture中使用了textureFromNode,这似乎是我的问题的根本原因。如果我使用来自sprite的纹理,代码可以运行,并且可以看到两艘宇宙飞船。此代码在iOS8中有效,但在Xcode7和iOS9中停止工作。我只想在提交错误报告之前验证这是一个错误。我担心的是我对NSKeyedArchiver做错了什么

ios - 是否可以使用 SpriteKit 生成/绘制纹理?

无法用谷歌搜索任何内容。实际上关于这个新框架的信息很少。我唯一能找到的就是将CoreImage滤镜应用于纹理。但我想在图像上方绘制简单的矩形我需要编写自己的CI过滤器..有人知道这个话题吗? 最佳答案 如果您只需要一个矩形,请使用@Kex的解决方案。通常,您可以从任何UIImage或CGImage创建纹理。[SKTexturetextureWithImageNamed:@"Spaceship.png"]实际上只是方便了[SKTexturetextureWithImage:[UIImageimageNamed:@"Spaceship.

ios - 从 SKShapeNode 创建 SKTexture

有没有办法从SKShapeNode创建SKTexture?已知形状节点会导致内存问题,我正在寻找一种方法来从它们创建静态图形(最好是.png)。 最佳答案 您可以使用名为textureFromNode:的SKView方法引用文献:textureFromNode:渲染并返回包含节点内容的SpriteKit纹理。-(SKTexture*)textureFromNode:(SKNode*)node参数节点表示要渲染到纹理的内容的节点对象。返回值保存渲染图像的SpriteKit纹理。讨论被渲染的节点不需要出现在View呈现的场景中。创建的新

ios - 基于 Swift SpriteKit 更改背景图像分数

我正在使用Swift和SpriteKit开发游戏。我希望背景在一定分数下发生变化。这是代码:classGameScene:SKScene{varbg=SKSpriteNode()overridefuncdidMoveToView(view:SKView){makeBg()}funcmakeBg(){letbgTexture=SKTexture(imageNamed:"img/bg.png")letmoveBg=SKAction.moveByX(-bgTexture.size().width,y:0,duration:9)letreplaceBg=SKAction.moveByX(bgT