【问题标题】: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;