android开发骰子动画,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;
}
}
};
}
Random生成的虽然是伪随机数,但是在娱乐对安全性要求不高,还是可以使用的。
实现方式比较简单,以下是工程下载链接:Android微信摇骰子
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结
以上是编程之家为你收集整理的Android实现微信摇骰子游戏全部内容,希望文章能够帮你解决Android实现微信摇骰子游戏所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!
android开发骰子动画,Android实现微信摇骰子游戏相关推荐
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析
一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我们介绍了如何安装Xposed框架,以及如何 ...
- Android”挂逼”修炼之行—微信摇骰子和猜拳作弊器原理解析
.猜想假设 本文就借助之前的Xposed框架来介绍如何编写微信的一个外挂功能,这个功能就是微信摇色子和剪刀石头布的作弊器,我们用过微信这个功能都知道,是一个比较常用的功能,因为在一个群聊中会很无聊就来 ...
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)
该文章是我觉得当中的逆向方式以及使用工具的方式非常值得学习,转载只为记录下来,若侵则删. 一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xpos ...
- android摇骰子源代码,Android实现微信摇骰子游戏
过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式. 使用Java的Random函数很容易实现,以骰子为例: 1.骰子摇动的动画,使用animation-list帧动画实 ...
- 全网最全Android开发工具,Android开发框架大全
涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步. 目录 一.工具 Android开发工具 在线工具宝典大全 二.框架 *缓存框架* DiskLruCache ...
- Android 开发工具集合 - (Android Dev Tools)
收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...
- 老罗Android开发视频教程( android解析json数据 )4集集合
老罗Android开发视频教程( android解析json数据 )4集集合 老罗Android开发视频教程( android解析json数据 ) 第一集android解析json数据 http:// ...
- [android开发必备]Android开发者社区汇总
[android开发必备]Android开发者社区汇总 经常收到很多人问做android开发去哪个社区,每次都回答的零零碎碎的很比系统,今天统一整理下,把截至目前为止有价值的android开发社区汇总 ...
- android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏
android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...
- 视频教程-快速入门Android开发 视频 教程 android studio-Android
快速入门Android开发 视频 教程 android studio 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生苦短,我 ...
最新文章
- jquery easyui 弹出对话框被activex控件遮挡问题
- 本地化ASPXPivotGrid控件
- AndroidStudio中调试时一直显示waiting for debugger
- 面试题,说说你理解的中台
- 任正非就“注册姚安娜商标”事件道歉:为防恶意抢注,第一次公权私用
- wireshark linux版本_Wireshark大法-WiFi6无线抓包
- php清除输出缓冲,php如何清除缓冲区
- 【电脑帮助】解决Wind10系统修改电脑默认用户名Administrator的问题
- chrome 长截屏插件
- 时间序列分析-MA模型
- 微信小程序文字语音转换/中英文自动翻译
- 搭建多节点以太坊私链 10分钟搞定(超简洁)
- Mac删除文件时显示“不能完成此操作,因为项目‘xxxx’正在使用中”(添加/删除新用户引发的问题)
- ml-agents与tensorflow结合的先关操作文档
- stm32命名规范总结
- 20 - Slider组件案例 相亲APP
- 华为云存储空间图库占比太大_华为手机照片太多?放这里既安全又不占内存,瞬间腾出50G空间...
- re管理器修改音量_[教程] 自己手动修改音量键和开机键的功能方法(小更新)
- python 函数 求绝对值 abs()
- java遍历一个map集合_Java遍历Map集合的四种方式