您好,登錄后才能下訂單哦!
這篇文章主要講解了Android如何實現微信搖骰子游戲,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
過年怎么可以不玩紅包娛樂一下呢,微信里的搖骰子大小和石頭剪刀布就是不錯的游戲方式。
使用Java的Random函數很容易實現,以骰子為例:
1.骰子搖動的動畫,使用animation-list幀動畫實現
2.生成1~6的隨機數,1 + new Random().nextInt(6)
以下是代碼實現,文末提供圖片資源下載:
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 "一點小"; case 2: return "二點小"; case 3: return "三點小"; case 4: return "四點大"; case 5: return "五點大"; case 6: return "六點大"; default: return ""; } } final Handler diceHandler = new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case 1: resetDiceImage(); break; default: break; } } }; }
看完上述內容,是不是對Android如何實現微信搖骰子游戲有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。