android摇骰子动画,Android实现微信摇骰子游戏
過年怎么可以不玩紅包娛樂一下呢,微信里的搖骰子大小和石頭剪刀布就是不錯的游戲方式。
使用java的random函數(shù)很容易實(shí)現(xiàn),以骰子為例:
1.骰子搖動的動畫,使用animation-list幀動畫實(shí)現(xiàn)
2.生成1~6的隨機(jī)數(shù),1 + new random().nextint(6)
以下是代碼實(shí)現(xiàn),文末提供圖片資源下載:
package com.zms.dicedemo;
import java.util.random;
import android.app.activity;
import android.graphics.drawable.drawable;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.view.view;
import android.widget.button;
import android.widget.imageview;
import android.widget.toast;
public class mainactivity extends activity {
private imageview imagedice;
private button btngo;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
initiallayout();
}
private void initiallayout() {
imagedice = (imageview) findviewbyid(r.id.imagedice);
btngo = (button) findviewbyid(r.id.btngo);
btngo.setonclicklistener(new myonclicklistener());
}
class myonclicklistener implements view.onclicklistener {
@override
public void onclick(view v) {
switch (v.getid()) {
case r.id.btngo:
imagedice.setimagedrawable(getresources().getdrawable(
r.drawable.anim_dice));
new thread(new dicethread()).start();
break;
default:
break;
}
}
}
public class dicethread implements runnable {
@override
public void run() {
try {
thread.sleep(2000);
} catch (interruptedexception e) {
e.printstacktrace();
}
message messagedice = new message();
messagedice.what = 1;
dicehandler.sendmessage(messagedice);
}
}
private void resetdiceimage() {
int randomint = 1 + new random().nextint(6); // 1~6
toast.maketext(mainactivity.this, getchinesebynumber(randomint),
toast.length_short).show();
imagedice.setimagedrawable(getresources().getdrawable(
getresources().getidentifier("dice_" + randomint, "drawable",
getpackagename())));
}
private string getchinesebynumber(int number) {
switch (number) {
case 1:
return "一點(diǎn)小";
case 2:
return "二點(diǎn)小";
case 3:
return "三點(diǎn)小";
case 4:
return "四點(diǎn)大";
case 5:
return "五點(diǎn)大";
case 6:
return "六點(diǎn)大";
default:
return "";
}
}
final handler dicehandler = new handler() {
public void handlemessage(android.os.message msg) {
switch (msg.what) {
case 1:
resetdiceimage();
break;
default:
break;
}
}
};
}
random生成的雖然是偽隨機(jī)數(shù),但是在娛樂對安全性要求不高,還是可以使用的。
實(shí)現(xiàn)方式比較簡單,以下是工程下載鏈接:android微信搖骰子
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持萬仟網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的android摇骰子动画,Android实现微信摇骰子游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3个表单设计的最佳技巧
- 下一篇: 单页应用与多页应用的区别及优缺点