我正在 android 中开发一个滑块拼图,它的图像分成小图像,我们需要订购这些碎片以形成正确的图像。我使用了一个 3x3 的网格视图,其中包含 8 个图像和一个黑点。因此,基本上,当您触摸 8 个棋子中的任何一个时,谜题取决于它是否有效移动,棋子是否会移动到空白点。这一切都很好,但我想给它滑动效果。因此,当您触摸该作品时,它应该滑入空白点。我想我必须使用 onFling 方法,但我不太确定如何使用。
任何帮助将非常感激。谢谢
此代码在时间延迟和幻灯片图像上运行:-
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);
}
}
您可能需要考虑为此使用游戏引擎。价值在于它为您处理动画并为图块设置动画就像一行代码一样简单..
tile.MoveTo(newPosition)。
我推荐适用于 android 的 cocos2d,您可以在此处找到有关构建滑块拼图的详细教程 ..
本教程还包括在这里构建一个图像滑块拼图.. 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