1

さて、私はこれをどのように行うべきか理解していません。

私がやりたいのは、ゲームの上に画像をフェードさせることだけです。

このメソッドは、SurfaceView を拡張して SurfaceHolder.Callback を実装する MainGame クラスにあります。

これが私のfadein.xmlです

<?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="3000" android:repeatCount="infinite"/> </set>

私はもう試した:

public void Animation() { ImageView myImageView= (ImageView)findViewById(R.id.block1); アニメーション myFadeInAnimation = AnimationUtils.loadAnimation(this.getApplicationContext(), R.anim.fadein); myImageView.startAnimation(myFadeInAnimation); }

タイプ AnimationUtils のメソッド loadAnimation(Context, int) は、引数 (MainGame, int) には適用されません。

としても

public void Animation() { ImageView myImageView= (ImageView)findViewById(R.id.myImageView); Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein); myImageView.startAnimation(myFadeInAnimation); }

メソッド getApplicationContext() はタイプ MainGame に対して未定義です

また、Activity を拡張する fade という独自のクラスに Animation メソッドを配置し、MainGame クラスで Fade というアニメーション オブジェクトを作成し、それをメソッドで呼び出すことも試みました。

Fade.Animation();

コンパイルして実行できますが、それを含むメソッドが実行されるとすぐにクラッシュします。

おそらく、誰かが基本的な例やチュートリアルを提供してくれるでしょうか? どんな助けでも素晴らしいでしょう、ありがとう。

4

1 に答える 1

0

getApplicationContext() を使用する代わりに、Activity の Context オブジェクトを使用します。これはおそらくコンストラクターで SurfaceView に渡されます。これへの参照をビューのコンストラクターに保存し、ビューがコンテキストを必要とするときにそれを使用できます。

于 2011-04-26T07:06:50.200 に答える