gpt4 book ai didi

android - Android游戏中的滑动棋子

转载 作者:行者123 更新时间:2023-11-29 14:17:08 25 4
gpt4 key购买 nike

我在安卓上写了一个类似国际象棋的益智游戏,已经基本完成了。我现在想做的是添加一些图形效果来改善游戏的感觉和外观,首先是改善棋子的移动。

我已经将我的主要游戏棋盘、国际象棋棋盘构建为 TextViewsGridLayout,这样棋子就可以表示为国际象棋字体中的一个字母 (并通过调用 TextView 上的 setBackgroundResource 将正方形着色为黑色或白色)。每个 TextView 都有一个 onClickListener,因此当用户点击适当的方 block 时,相关 TextViews 上的字母会根据国际象棋规则更改.这意味着图形感觉有些不自然:被移动的棋子从其原来的方格中消失,并立即重新出现在它被移动到的方格中。我想通过让棋子从原来的方格滑到新的方格来改变这一点。有什么方法可以在维护 GridLayout-of-TextViews 逻辑的同时做到这一点 - 或者我是否需要显着更改代码的结构?无论如何,如果有人知道如何开始这个,我很乐意听听!

最佳答案

尝试这样的事情

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtOne = (TextView)findViewById(R.id.textone);
txtTwo = (TextView)findViewById(R.id.text_two);
relative = (RelativeLayout)findViewById(R.id.relative);


txtTwo.setOnClickListener(new View.OnClickListener() {

@SuppressLint("NewApi")
@Override
public void onClick(View v) {



float to_x = txtOne.getX();
float to_y = txtOne.getY();


float x_from = txtTwo.getX();
float y_from = txtTwo.getY();
//txtTwo.getLocationInWindow(fromLoc);
txtOne.getLocationOnScreen(toLoc);
Animations anim = new Animations();

Animation a = anim.fromAtoB(x_from, y_from, -to_x, -to_y, animL,1000);
txtTwo.startAnimation(a);

}
});
}



public class Animations {
public Animation fromAtoB(float fromX, float fromY, float toX, float toY, AnimationListener l, int speed){


Animation fromAtoB = new TranslateAnimation(

fromX,

toX,

fromY,

toY
);

fromAtoB.setDuration(speed);
//fromAtoB.setInterpolator(new );


if(l != null)
fromAtoB.setAnimationListener(l);
return fromAtoB;
}
}



AnimationListener animL = new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
//this is just a method to delete the ImageView and hide the animation Layout until we need it again.
//clearAnimation();
}
};

关于android - Android游戏中的滑动棋子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27733603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com