Raj*_*ddy 0 puzzle android image imageview
我正在准备一个像拼图一样的小游戏,因为我在布局中使用9个imageview的9个不同的图像.在启动那些是实际图像时将图像设置为imageview,在shuffle用户将滑动图像以完成拼图之后,我想用实际图像检查修改后的图像,如果它们相等或不相同则天气是否相等弹出消息像游戏一样.
我试过这样的
1.在图像之间使用AND运算符(Drawables)但不幸.
2.对图像使用setLevel(),将这些setLevel值与滑动后的图像的getLevel值进行比较仍然不吉利..这里的问题是如果我点击imageview一次getLevel()给出正确的值,如果我点击多次它给出零值.为什么会这样发生..
如果您在我的代码中发现任何错误,请帮助我,否则请指导我良好的技术..
Xml code like this
<RelativeLayout
//9 imageview's
Run Code Online (Sandbox Code Playgroud)
在这样的jave代码中,如果用户点击imageview,它将交换图像
img_View11.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(img_View21.getDrawable() == default_img ||
img_View12.getDrawable() == default_img) {
System.out.println("yes");
++click;
Noof_moves.setText("Moves: " +click);
ImageView iv = (ImageView)v;
d11 = iv.getDrawable();
prev_img = prev_imgView.getDrawable();
la11 = d11.getLevel();
System.out.println("d11 value is " +la11);
prev_imgView.setImageDrawable(d11);
img_View11.setImageDrawable(prev_img);
prev_imgView = img_View11;
check();
}
else { System.out.println("no"); }
}
});
void check(){
System.out.println("in checking condition");
if((lb11==la11) && (lb12==la12) && (lb13==la13) && (lb21==la21) && (lb22==la22)
&& (lb23==la23) && (lb31==la31) && (lb32==la32) && (lb33==la33)) {
Context c = getBaseContext();
System.out.println("gameover");
Toast.makeText(c, " GameOver ", Toast.LENGTH_SHORT).show();
}else{ System.out.println(" codition not checked "); }
}
//here lb=level before sliding
// la=level after sliding..
Run Code Online (Sandbox Code Playgroud)
好的,这就是你为解决方案所做的.
drawable og11 = imageView11.getDrawable(); 在洗牌之前做这个部分.现在你有原始的drawables,以drawables的形式存储.
HTH.
归档时间: |
|
查看次数: |
1949 次 |
最近记录: |