是否为SKSpriteNode设置名称?

问题

我正在使用以下代码为我的游戏中的玩家生成随机图像。

var playerTexture = [SKTexture]()

        playerTexture.append(SKTexture(imageNamed: “red”))
        playerTexture.append(SKTexture(imageNamed: “blue”))
        playerTexture.append(SKTexture(imageNamed: “green”))


        let rand = Int(arc4random_uniform(UInt32(playerTexture.count)))
        let chosenColor = playerTexture[rand] as SKTexture
        let playerSkin = chosenColor

上面的代码生成一个名为playerSkin的随机SKTexture(红色,蓝色或绿色)。

    player = SKSpriteNode(texture: playerSkin)
    player.size = CGSize(width: 50, height: 50)
    player.position = location
    self.addChild(player)
    player.name = chosenColor.description

然后,此代码的下一部分将播放器创建为SKSpriteNode,并为其分配红色,蓝色或绿色的随机纹理。但是主要的事情是代码使用以下命令将player.name分配给随机选择的图像:

player.name = chosenColor.description

然后,我使用打印检查播放器的名称。

 print(player.name)

但是,当我检查播放器的名称时,根据选择的随机图像,它会显示为以下内容之一:

可选(“ \'red \'(120 x 120)”)

可选(“ \'blue \'(120 x 120)”)

可选(“ \'绿色\'(120 x 120)”)

我的图像称为“红色”,“蓝色”和“绿色”,位于Xcode的Assets.xcassets文件夹中。

我的图像是120 x 120,但是为什么会出现这些长随机名称?如何设置“红色”,“蓝色”或“绿色”作为播放器的名称?

我需要将名称准确地命名为“红色”,“蓝色”或“绿色”,因为我想稍后使用player.name来实现其他功能。

claassenApps

也许有更好的方法,但这是我想到的第一件事-使playerTexture变量成为一个元组数组,其中包含纹理和您要为其指定的名称:

 var playerTexture = [(SKTexture, String)]()

  playerTexture.append((SKTexture(imageNamed: “red”), "red"))
  playerTexture.append((SKTexture(imageNamed: “blue”), "blue"))
  playerTexture.append((SKTexture(imageNamed: “green”), "green"))

  let rand = Int(arc4random_uniform(UInt32(playerTexture.count)))
  let chosenColor = playerTexture[rand].0 as SKTexture
  let colorName = playerTexture[rand].1
  let playerSkin = chosenColor

  player = SKSpriteNode(texture: playerSkin)
  player.size = CGSize(width: 50, height: 50)
  player.position = location
  self.addChild(player)
  player.name = colorName

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否为SKSpriteNode设置名称?

来自分类Dev

将jar名称设置为包名称的开头是否正常?

来自分类Dev

使用给定的sprite.name为SKSpriteNode设置SKTexture

来自分类Dev

您是否可以直接将一个变量设置为彼此相同的名称?

来自分类Dev

是否可以将带有GUID的struts令牌设置为令牌名称?

来自分类Dev

将变量设置为包含方法的名称

来自分类Dev

将名称设置为RDD的优势

来自分类Dev

无法将名称设置为向量或矩阵

来自分类Dev

使用Python为Excel表设置名称

来自分类Dev

将变量设置为工作表名称

来自分类Dev

名称空间属性已设置,但为空

来自分类Dev

为Firebase中的推送项目设置名称

来自分类Dev

在Powershell中为PSDrive设置名称

来自分类Dev

在 `...` 中为 R 函数设置名称

来自分类Dev

将参数名称设置为内表名称

来自分类Dev

如何从SKSpriteNode获取图像名称?

来自分类Dev

将crossDomainScriptAccessEnabled设置为true是否安全?

来自分类Dev

设置后的find变量是否为static?

来自分类Dev

检查变量是否设置为NO_VALUE

来自分类Dev

检查EditText的内容是否为设置

来自分类Dev

检查是否已将EventCallback设置为Blazor

来自分类Dev

声明时并集是否设置为零?

来自分类Dev

是否可以将DynamicResource设置为TargetNullValue?

来自分类Dev

检查数组值是否设置为null

来自分类Dev

SSH是否为“密码”提示设置超时?

来自分类Dev

PHP设置变量是否为空?

来自分类Dev

是否将NSDate设置为NSManagedObject较慢?

来自分类Dev

是否为Unity设置了环境变量?

来自分类Dev

检查变量是否设置为NO_VALUE