Возможность отключения анимаций спрайтов
This commit is contained in:
parent
93b1328e43
commit
c86ca63df2
@ -7,6 +7,10 @@
|
|||||||
#rp.assets = archive + "everlastingsummer/"
|
#rp.assets = archive + "everlastingsummer/"
|
||||||
rp.assets = sdcard + "everlastingsummer/"
|
rp.assets = sdcard + "everlastingsummer/"
|
||||||
|
|
||||||
|
# Прочие настройки
|
||||||
|
# анимация переходов для спрайтов
|
||||||
|
rp.sprite_transitions = false
|
||||||
|
|
||||||
# Использовать стартовое меню
|
# Использовать стартовое меню
|
||||||
rp.menu = false
|
rp.menu = false
|
||||||
rp.menu_background = "bg/ext_road_night.jpg"
|
rp.menu_background = "bg/ext_road_night.jpg"
|
||||||
|
@ -79,6 +79,10 @@ public final class MainActivity extends Activity {
|
|||||||
finish();
|
finish();
|
||||||
openScenario(config.getValue("rp.scenario"));
|
openScenario(config.getValue("rp.scenario"));
|
||||||
}
|
}
|
||||||
|
// Эффекты переходов для спрайтов
|
||||||
|
if (config.isValueExists("rp.sprite_transitions")) {
|
||||||
|
ViewActivity.useSpriteTransitions = config.getValueAsBoolean("rp.sprite_transitions");
|
||||||
|
}
|
||||||
// Меню
|
// Меню
|
||||||
if (config.getValueAsBoolean("rp.menu")) {
|
if (config.getValueAsBoolean("rp.menu")) {
|
||||||
menuMode(config);
|
menuMode(config);
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.annimon.everlastingsummer;
|
package com.annimon.everlastingsummer;
|
||||||
|
|
||||||
import java.io.FileDescriptor;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -12,10 +11,10 @@ import com.annimon.everlastingsummer.ast.Variables;
|
|||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.AssetFileDescriptor;
|
import android.content.res.AssetFileDescriptor;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -51,6 +50,8 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
private static final FadeInfo NO_FADE = new FadeInfo(false, false, 0);
|
private static final FadeInfo NO_FADE = new FadeInfo(false, false, 0);
|
||||||
private static ViewActivity instance;
|
private static ViewActivity instance;
|
||||||
|
|
||||||
|
public static boolean useSpriteTransitions = true;
|
||||||
|
|
||||||
public static ViewActivity getInstance() {
|
public static ViewActivity getInstance() {
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
@ -66,7 +67,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
|
|
||||||
private MapPlaces places;
|
private MapPlaces places;
|
||||||
private Characters characters;
|
private Characters characters;
|
||||||
private Map<String, AnimatableImageView> spriteInContainer;
|
private Map<String, ImageView> spriteInContainer;
|
||||||
private DisplayMetrics displayMetrics;
|
private DisplayMetrics displayMetrics;
|
||||||
|
|
||||||
private transient boolean blockTap, cancelNextStep;
|
private transient boolean blockTap, cancelNextStep;
|
||||||
@ -95,7 +96,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
|
|
||||||
background.setOnTouchListener(new TouchGesture(this, this));
|
background.setOnTouchListener(new TouchGesture(this, this));
|
||||||
|
|
||||||
spriteInContainer = new HashMap<String, AnimatableImageView>();
|
spriteInContainer = new HashMap<String, ImageView>();
|
||||||
|
|
||||||
characters = new CharactersES();
|
characters = new CharactersES();
|
||||||
characters.makeNamesKnown();
|
characters.makeNamesKnown();
|
||||||
@ -326,12 +327,13 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sprite(String whoid, String params, String position, String alias, String effect) {
|
public void sprite(String whoid, String params, String position, String alias, String effect) {
|
||||||
AnimatableImageView img;
|
ImageView img;
|
||||||
final String key = TextUtils.isEmpty(alias) ? whoid : alias;
|
final String key = TextUtils.isEmpty(alias) ? whoid : alias;
|
||||||
if (spriteInContainer.containsKey(key)) {
|
if (spriteInContainer.containsKey(key)) {
|
||||||
img = spriteInContainer.get(key);
|
img = spriteInContainer.get(key);
|
||||||
} else {
|
} else {
|
||||||
img = new AnimatableImageView(this);
|
if (useSpriteTransitions) img = new AnimatableImageView(this);
|
||||||
|
else img = new ImageView(this);
|
||||||
spriteInContainer.put(key, img);
|
spriteInContainer.put(key, img);
|
||||||
}
|
}
|
||||||
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
||||||
@ -339,7 +341,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
setSpritePosition(img, flp, position);
|
setSpritePosition(img, flp, position);
|
||||||
final String path = PathResolver.sprite(whoid, params);
|
final String path = PathResolver.sprite(whoid, params);
|
||||||
try {
|
try {
|
||||||
img.setImageBitmap(IOUtil.readBitmap(path), effect);
|
final Bitmap bitmap = IOUtil.readBitmap(path);
|
||||||
|
if (useSpriteTransitions) ((AnimatableImageView)img).setImageBitmap(bitmap, effect);
|
||||||
|
else img.setImageBitmap(bitmap);
|
||||||
if (container != img.getParent())
|
if (container != img.getParent())
|
||||||
container.addView(img, flp);
|
container.addView(img, flp);
|
||||||
} catch (Exception ioe) {
|
} catch (Exception ioe) {
|
||||||
@ -349,8 +353,9 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
|
|
||||||
public void hideSprite(final String whoid, final String effect) {
|
public void hideSprite(final String whoid, final String effect) {
|
||||||
if (!spriteInContainer.containsKey(whoid)) return;
|
if (!spriteInContainer.containsKey(whoid)) return;
|
||||||
final AnimatableImageView img = spriteInContainer.get(whoid);
|
final ImageView img = spriteInContainer.get(whoid);
|
||||||
img.hideDrawable(effect, new Runnable() {
|
if (useSpriteTransitions) {
|
||||||
|
((AnimatableImageView)img).hideDrawable(effect, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
@ -360,6 +365,13 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
hide(img);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
if (Logger.DEBUG) Logger.log("hide sprite: " + whoid + " with effect: " + effect, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hide(ImageView img) {
|
private void hide(ImageView img) {
|
||||||
|
Loading…
Reference in New Issue
Block a user