android createbitmap设置背景色,Android createBitmap截取实现移动的游戏背景
createBitmap方法能够截取源位图不同位置的块,实现游戏背景的移动
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(MainActivity.this));
}
class MyView extends View{
//背景图实际高度
final int BACK_HEIGHT=1700;
//背景图和飞机
private Bitmap back;
private Bitmap plane;
final int WIDTH=640,HEIGHT=880;
//Matrix实例用于控制缩放
private Matrix matrix=new Matrix();
//图片开始的Y坐标
private int StartY=BACK_HEIGHT-HEIGHT;
public MyView(Context context) {
super(context);
back=BitmapFactory.decodeResource(context.getResources(), R.drawable.back_img);
//获取窗口管理器
WindowManager windowManager=getWindowManager();
Display display=windowManager.getDefaultDisplay();
DisplayMetrics metrics=new DisplayMetrics();
display.getMetrics(metrics);
//获得屏幕宽度
float screenWidth=metrics.widthPixels;
//确定缩放比例
float scale=screenWidth/WIDTH;
matrix.setScale(scale, scale);
plane=BitmapFactory.decodeResource(context.getResources(), R.drawable.plane);
final Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==0x123){
//图片向上移动/回到初始状态
if(StartY<3){
StartY=BACK_HEIGHT-HEIGHT;
}else{
StartY-=3;
}
}
//通知VIew重绘(调用OnDraw方法)
invalidate();
}
};
//每100ms移动一次
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
handler.sendEmptyMessage(0x123);
}
}, 0,100);
}
@Override
protected void onDraw(Canvas canvas) {
//截取背景图的一段作为实际绘制的背景图
Bitmap bitmap2=Bitmap.createBitmap(back,0,StartY,WIDTH,HEIGHT,matrix,false);
canvas.drawBitmap(bitmap2, 0, 0,null);
canvas.drawBitmap(plane, 320,700, null);
}
}
android createbitmap设置背景色,Android createBitmap截取实现移动的游戏背景相关推荐
- android datepicker设置日期,Android DatePicker
前言 话说日期时间选择控件许多项目都会用到,今天小可不才,也发一个自己写的日期选择控件 先上图 CC8V2$(JPZ`{WT42ICK7F}K.png demo.gif 1.首先自定义日期选择工具类 ...
- android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值
http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...
- android 渐变的背景色,Android背景渐变xml
使用shape的gradient属性实现渐变 效果图 线性渐变 圆形渐变 扫描渐变 线性渐变 在drawable文件夹下新建shape资源: 属性值 android:angle (必须是45的整数倍. ...
- android如何设置图标,Android APP如何设置显示图标
一款APP的图标是它的脸面,颜值的重要性,不言而喻了.接下来,如何设置APP的图标? 步骤1.编辑 AndroidManifest.xml: package="test.applicatio ...
- android+动态设置权重,Android自适应布局(关于权重weight的使用技巧!)
weight和weightSum Layout Weight LinearLayout also supports assigning a weight to individual children ...
- android自定义设置界面,Android开发之精仿QQ设置界面(自定义PreferenceActivity)
Android开发之精仿QQ设置界面(自定义PreferenceActivity) 时间:2011-12-05 10:25:06 来源:Android开发者门户 作者: 今天,再给大家分享一下QQ设置 ...
- android 状态栏设置工具栏,Android状态栏工具
参考了一些文章做了一些修改,变成了自己的工具类.其中有很多地方欠考虑,有待改进,欢迎路过的大佬给点建议. 经过前两篇的介绍我们对如何修改状态栏的效果有了大致的了解,本篇介绍一种使用更加简单的方式 设置 ...
- android imageview设置边框,android ImageView 添加边框
有两种方法可以给ImageView添加边框,一种是通过xml文件配置shape.另一种是重写ImageView的ondraw方法,这里用第二中方法: package org.example.image ...
- android 代码设置圆角,Android中用Shape实现圆角和局部圆角
本文讲解如何实现布局边框的部分圆角 大家可能都知道圆角实现其实很简单, 在drawable文件夹下新建xml文件加入以下代码 情景1: 四个角均为圆角 android:shape="rect ...
最新文章
- passwd文件详解
- 双鉴探测器是哪两种探测方式结合_火灾探测器、手动火灾探测器和自动火灾报警分类...
- Data Warehouse Hardware - DW硬件需求计算
- linux查看内核版本信息
- cognos数据源配置修改oracle,Cognos 新建数据源报错(原创)
- 反转字符串 不同方式
- 开源旅游网站系统排名
- java 农历公历转换_java 版本 农历 公历 转换
- 汇编软件MASM和调试工具DEBUG的使用
- 灌木修剪机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- vs2019无法启动程序 系统找不到指定文件
- 使用Certbot申请ssl证书
- DH密钥交换协议c语言,DH秘钥交换协议
- 湖南省银河计算机专修学院,湖南计算机专修学院
- 无感延迟智能降噪,一款无线蓝牙耳机体验分享,值得安利
- 利用SMTP协议实现邮件的发送(以163和qq邮箱为例)
- react学习之路(一)
- 2023年Android现代开发
- 发现4个神奇的软件,个个暗藏惊喜,不占内存亲测好评
- javascript根据id 取出元素的值
热门文章
- android相机固定方向,如何正确设置Android相机方向?
- [ZJOI2015]醉熏熏的幻想乡
- NBMA网络OSPF路由协议配置
- 第39级台阶回溯算法c语言,五大经典算法之回溯法 - osc_9ipdey7e的个人空间 - OSCHINA - 中文开源技术交流社区...
- webp怎么转png?图片webp格式怎么转换?
- 计算机设备配备情况,计算机设备配置标准.doc
- rancher拉取harbor私有镜像失败,报错ImagePullBackOff: Back-off pulling image
- 计算机屏幕暗度怎么调,电脑屏幕亮度太亮怎么调暗一点
- 2015 Syrian Private Universities Collegiate Programming Contest 题解
- five86-2靶机渗透攻略