android开发骰子动画,Android实现微信摇骰子游戏

本文介绍如何使用Java在Android平台上实现微信摇骰子的动画效果和随机数生成,通过创建一个DiceThread类来模拟摇骰子过程,并利用Animation-list帧动画实现动态效果。同时,通过Random类生成1~6的随机数,结合文字描述增加游戏趣味性。代码简洁易懂,适合初学者参考学习。
摘要由CSDN通过智能技术生成

过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。

使用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微信摇骰子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值