1

好吧,我不明白我应该怎么做。

我想要它做的就是在我的游戏顶部有一个图像淡入淡出。

这个方法在我的 MainGame 类中,它扩展了 SurfaceView 并实现了 SurfaceHolder.Callback

这是我的 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 类型定义

我还尝试将 Animation 方法放在它自己的名为 fade 的类中,该类扩展了 Activity 并在我的 MainGame 类中创建了一个名为 Fade 的动画对象,并在方法中调用它

Fade.Animation();

我可以编译和运行它,但是一旦包含它的方法运行它就会崩溃。

也许有人可以为我提供一个基本示例或教程?任何帮助都会很棒,谢谢。

4

1 回答 1

0

不要使用 getApplicationContext(),而是使用 Activity 中的 Context 对象。这可能会在其构造函数中传递给您的 SurfaceView。您可以在 View 的构造函数中保存对 this 的引用,并在 View 需要上下文时使用它。

于 2011-04-26T07:06:50.200 回答