Можно ли использовать флэш-анимацию в приложении для Android? - PullRequest
3 голосов
/ 17 июля 2011

Как гласит заголовок, можно ли использовать вспышку в игре для Android для показа анимации?Как, например, анимированный разряд молнии, появляющийся на экране, когда пользователь касается места на сенсорном экране?

Если это невозможно, каковы альтернативы этому?

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Графических и анимационных способностей Android достаточно для отображения молнии.

Использование Flash для этого было бы пустой тратой ресурсов.

Похоже, вы начинаете работать с пользовательским интерфейсом Android. Можете ли вы дать нам немного больше информации о том, чего вы хотите достичь? Может быть, один из нас может заставить тебя пойти.

А пока, может быть, это поможет:

package com.arrdude.forumanswer;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.FrameLayout;
import android.widget.ImageView;

public class TouchLightningActivity extends Activity implements OnTouchListener {
    FrameLayout mainframe; 
    ImageView lightning; 

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mainframe = (FrameLayout) findViewById(R.id.mainframe);
        lightning = (ImageView) findViewById(R.id.imageView1);
        mainframe.setOnTouchListener(this);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        System.out.println(event);
        //lots of interesting things going on here to look at if you are not yet familiar with touch listeners
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            lightning.setVisibility(View.VISIBLE);
        }else if(event.getAction()==MotionEvent.ACTION_UP
                || event.getAction()==MotionEvent.ACTION_OUTSIDE){
            lightning.setVisibility(View.INVISIBLE);
        }
        return false;
    }
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainframe"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:layout_gravity="center"
    android:background="@drawable/background"
    >

    <ImageView android:src="@drawable/lightning"
        android:id="@+id/imageView1"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:visibility="invisible"></ImageView>
</FrameLayout>

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.arrdude.forumanswer"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".TouchLightningActivity"
                  android:label="@string/app_name" android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

вводимый коэффициент:

background.png

Before The Storm от Ларисы Лариса: общественное достояние, изображение отсюда

lightning.png

1 голос
/ 18 июля 2011

Да, это должно быть возможно, скорее всего, через WebView.Однако анимированный разряд молнии в onTouch из реального пользовательского интерфейса Android невозможен, если только все ваше приложение или хотя бы часть, которая должна отображать лампочку молнии, не является веб-приложением.другие способы сделать это, и гораздо лучший способ сделать игры в Android.Я предлагаю вам взглянуть на: http://developer.android.com/guide/topics/graphics/index.html

...