我正在开发一个Android游戏中的滑块拼图,它将图像分成小图像,我们需要订购这些拼图以形成正确的图像。我使用了3x3的网格视图,其中包含8个图像和一个黑点。因此,基本上当你触摸8个拼图中的任何一个拼图时,取决于它是否有效移动到该空白点。这一切都很好,但我想给它滑动效果。因此,当您触摸它时,它应该滑入空白点。我想我必须使用onFling方法,但我不太清楚如何。
非常感谢任何帮助。感谢
答案 0 :(得分:0)
此代码在时间延迟和幻灯片图片上运行: -
public class SliderActivity extends Activity {
public int currentimageindex=0;
Timer timer;
TimerTask task;
ImageView slidingimage;
private int[] IMAGE_IDS = {
R.drawable.splash0, R.drawable.splash1, R.drawable.splash2,
R.drawable.splash3
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mygame);
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateResults = new Runnable() {
public void run() {
AnimateandSlideShow();
}
};
int delay = 1000; // delay for 1 sec.
int period = 8000; // repeat every 4 sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
mHandler.post(mUpdateResults);
}
}, delay, period);
}
public void onClick(View v) {
finish();
android.os.Process.killProcess(android.os.Process.myPid());
}
/**
* Helper method to start the animation on the splash screen
*/
private void AnimateandSlideShow() {
slidingimage = (ImageView)findViewById(R.id.ImageView3_Left);
slidingimage.setImageResource(IMAGE_IDS[currentimageindex%IMAGE_IDS.length]);
currentimageindex++;
Animation rotateimage = AnimationUtils.loadAnimation(this, R.anim.custom_anim);
slidingimage.startAnimation(rotateimage);
}
}
答案 1 :(得分:0)
您可能需要考虑使用游戏引擎。值得一提的是它为您处理动画并为平铺动画设置就像单行代码一样简单。
tile.MoveTo(在newPosition)。
我推荐使用cocos2d for android,你可以在这里找到一个关于构建滑块拼图的详细教程..
本教程还介绍了如何构建图像滑块拼图。 http://denvycom.com/blog/step-by-step-guide-on-how-to-build-your-first-slider-puzzle-game-in-cocos2d-for-android-part-3-2/#comment-1313951361