Изменён способ доступа к спрайтам
This commit is contained in:
parent
a2249d130a
commit
59fc1e68dd
@ -146,16 +146,17 @@ public final class Parser {
|
|||||||
|
|
||||||
private boolean show() {
|
private boolean show() {
|
||||||
final String whoid = consume(TokenType.WORD).getText();
|
final String whoid = consume(TokenType.WORD).getText();
|
||||||
final String emotion = lookMatch(0, TokenType.WORD) ? consume(TokenType.WORD).getText() : "";
|
String params = ""; // emotion? cloth? distance?
|
||||||
final String cloth = lookMatch(0, TokenType.WORD) ? consume(TokenType.WORD).getText() : "";
|
while (lookMatch(0, TokenType.WORD)) {
|
||||||
final String distance = lookMatch(0, TokenType.WORD) ? consume(TokenType.WORD).getText() : "";
|
params += consume(TokenType.WORD).getText();
|
||||||
|
}
|
||||||
// Положение (left, cleft, ...)
|
// Положение (left, cleft, ...)
|
||||||
String position = "";
|
String position = "";
|
||||||
if (match(TokenType.AT)) {
|
if (match(TokenType.AT)) {
|
||||||
position = consume(TokenType.WORD).getText();
|
position = consume(TokenType.WORD).getText();
|
||||||
}
|
}
|
||||||
matchWithEffect();
|
matchWithEffect();
|
||||||
ViewActivity.getInstance().sprite(whoid, emotion, cloth, distance, position);
|
ViewActivity.getInstance().sprite(whoid, params, position);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,13 +22,11 @@ public final class PathResolver {
|
|||||||
return SCRIPT_ASSETS + "/" + name;
|
return SCRIPT_ASSETS + "/" + name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String sprite(String whoid, String emotion, String cloth, String distance) {
|
public static String sprite(String whoid, String params) {
|
||||||
final StringBuilder sb = new StringBuilder();
|
final StringBuilder sb = new StringBuilder();
|
||||||
sb.append(SPRITE);
|
sb.append(SPRITE);
|
||||||
sb.append(TextUtils.isEmpty(distance) ? "normal" : distance).append('/');
|
|
||||||
sb.append(whoid.toLowerCase(Locale.ENGLISH)).append('/');
|
sb.append(whoid.toLowerCase(Locale.ENGLISH)).append('/');
|
||||||
sb.append(emotion);
|
sb.append(TextUtils.isEmpty(params) ? "normal" : params);
|
||||||
sb.append(cloth);
|
|
||||||
sb.append(PNG);
|
sb.append(PNG);
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ public final class ViewActivity extends Activity {
|
|||||||
spriteInContainer.clear();
|
spriteInContainer.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sprite(String whoid, String emotion, String cloth, String distance, String position) {
|
public void sprite(String whoid, String params, String position) {
|
||||||
ImageView img;
|
ImageView img;
|
||||||
if (spriteInContainer.containsKey(whoid)) {
|
if (spriteInContainer.containsKey(whoid)) {
|
||||||
img = spriteInContainer.get(whoid);
|
img = spriteInContainer.get(whoid);
|
||||||
@ -171,7 +171,7 @@ public final class ViewActivity extends Activity {
|
|||||||
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
||||||
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
|
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
|
||||||
setSpritePosition(img, flp, position);
|
setSpritePosition(img, flp, position);
|
||||||
final String path = PathResolver.sprite(whoid, emotion, cloth, distance);;
|
final String path = PathResolver.sprite(whoid, params);
|
||||||
try {
|
try {
|
||||||
img.setImageBitmap(IOUtil.readBitmap(path));
|
img.setImageBitmap(IOUtil.readBitmap(path));
|
||||||
container.addView(img, flp);
|
container.addView(img, flp);
|
||||||
|
Loading…
Reference in New Issue
Block a user