English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。
使用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; } } }; }
Random генерирует伪随机数, но в развлечениях, где требования к безопасности не высоки, его все же можно использовать.
Способ реализации достаточно прост, вот ссылка для скачивания проекта:Android WeChat摇骰子
Вот и все, что есть в этой статье, я надеюсь, что это поможет вам в изучении, также希望大家多多支持呐喊教程。
Заявление: содержимое статьи взято из Интернета, авторские права принадлежат соответствующему автору, материалы предоставлены пользователями Интернета в качестве добровольного вклада и самостоятельно загружены, сайт не обладает правами собственности, не прошел редактирование人工 и не несет ответственности за связанные с этим юридические обязательства. Если вы обнаружите подозрительное нарушение авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма, пожалуйста, замените # на @) для сообщения о нарушении и предоставьте соответствующие доказательства. Если подтвердится, сайт немедленно удаляет涉嫌侵权的内容.