From d93236e37858ef9c84ba0c21ac1c1b165571a72b Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 17 Jun 2015 19:44:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D1=81=D0=B8=D0=BD=D0=B3=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=B0=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D1=85=D0=BE=D0=B4=D0=BE=D0=B2=20transitions.rpy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/transitions.rpy | 19 ++++++++++++++ .../everlastingsummer/MainActivity.java | 25 +++++++++++++++---- 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 assets/transitions.rpy diff --git a/assets/transitions.rpy b/assets/transitions.rpy new file mode 100644 index 0000000..5a00835 --- /dev/null +++ b/assets/transitions.rpy @@ -0,0 +1,19 @@ +# Список анимационных переходов. +# Поддерживаются Dissolve (http://www.renpy.org/doc/html/transitions.html#Dissolve) и Fade (http://www.renpy.org/doc/html/transitions.html#Fade) переходы + +# Fade to black and back. +define fade = Fade(0.5, 0.0, 0.5) +define fade2 = Fade(1, 0.0, 1) +define fade3 = Fade(1.5, 0.0, 1.5) + +# Hold at black for a bit. +define fadehold = Fade(0.5, 1.0, 0.5) + +# Camera flash - quickly fades to white, then back to the scene. +define flash = Fade(0.1, 0.0, 0.5, color="#fff") +define flash2 = Fade(2, 2, 2, color="#fff") +define flash_red = Fade(1, 0, 1, color="#ffee1111") + +define dspr = Dissolve(0.2) +define dissolve = Dissolve(1) +define dissolve2 = Dissolve(2) \ No newline at end of file diff --git a/src/com/annimon/everlastingsummer/MainActivity.java b/src/com/annimon/everlastingsummer/MainActivity.java index 9227116..8189a86 100644 --- a/src/com/annimon/everlastingsummer/MainActivity.java +++ b/src/com/annimon/everlastingsummer/MainActivity.java @@ -3,6 +3,7 @@ package com.annimon.everlastingsummer; import java.io.IOException; import java.io.InputStream; import java.util.List; +import com.annimon.everlastingsummer.transitions.TransitionsParser; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; @@ -32,18 +33,26 @@ public final class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + parseConfigs(); + } + + private void parseConfigs() { + try { + parseTransitions(); + } catch (IOException ioe) { + if (Logger.DEBUG) Logger.log("parseTransitions", ioe); + } try { parseInitConfig(); } catch (IOException ioe) { - if (Logger.DEBUG) Logger.log("MainActivity", ioe); + if (Logger.DEBUG) Logger.log("parseInitConfig", ioe); scriptListMode(); } } - private void openScenario(String name) { - final Intent intent = new Intent(this, ViewActivity.class); - intent.putExtra(ViewActivity.EXTRA_NAME, name); - startActivity(intent); + private void parseTransitions() throws IOException { + final InputStream is = getAssets().open("transitions.rpy"); + TransitionsParser.parse(Lexer.tokenize( IOUtil.readContents(is) )); } private void parseInitConfig() throws IOException { @@ -114,6 +123,12 @@ public final class MainActivity extends Activity { } } + private void openScenario(String name) { + final Intent intent = new Intent(this, ViewActivity.class); + intent.putExtra(ViewActivity.EXTRA_NAME, name); + startActivity(intent); + } + /* * Выбор скриптов из списка в папке assets/scripts