【问题标题】:java - How to convert a string to a sprite?java - 如何将字符串转换为精灵?
【发布时间】:2016-09-01 20:04:47
【问题描述】:

我需要为我正在制作的游戏提供建议。我有 16 个精灵,它们可以在运行时定位在 43 个位置。对于每个位置,我创建了一个字符串,其中包含将定位在该位置的精灵。如何将字符串转换为精灵名称,以便稍后向该精灵添加动作?如果我想添加 if 语句来检查这 16 个精灵中的哪一个在每个位置,则需要将近 700 个 ifs。有没有办法将字符串转换为精灵?

【问题讨论】:

  • 欢迎来到 StackOverflow。请花点时间查看提供的帮助页面,尤其是如何提供MCVE。请举个例子。

标签: java string libgdx sprite converter


【解决方案1】:

你有精灵的编号吗?

如果是,那么简单的解决方案是通过精灵计数来修改字符串哈希码。不幸的是,您需要保留一个映射来存储哪个字符串映射到哪个精灵。

例子:

int spriteCount = 16:
Map strMap = new HashMap();//add type
String str = incomintStr;
int hashStr = incomingStr.hashCode();
int location = hashStr % spriteCount;//a number less than the remaining counts
map.put(str,location);
sprite[location].put(str); 
spriteCount = spriteCount -1; 

【讨论】:

  • 是的,我给它们编号了。我会试试这个。谢谢!
  • 记得使用map来避免hashCode冲突:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2013-03-23
相关资源
最近更新 更多