Android实现在屏幕上移动图片的方法_Android

本文实例讲述了Android实现在屏幕上移动图片的方法。分享给大家供大家参考。具体实现方法如下:

1. Speed.java文件:

package net.obviam.droidz.model.components;
public class Speed {
  public static final int DIRECTION_RIGHT = 1;
  public static final int DIRECTION_LEFT = -1;
  public static final int DIRECTION_UP  = -1;
  public static final int DIRECTION_DOWN = 1;
  private float xv = 1;  // velocity value on the X axis
  private float yv = 1;  // velocity value on the Y axis
  private int xDirection = DIRECTION_RIGHT;
  private int yDirection = DIRECTION_DOWN;
  public Speed() {
    this.xv = 1;
    this.yv = 1;
  }
  public Speed(float xv, float yv) {
    this.xv = xv;
    this.yv = yv;
  }
  public float getXv() {
    return xv;
  }
  public void setXv(float xv) {
    this.xv = xv;
  }
  public float getYv() {
    return yv;
  }
  public void setYv(float yv) {
    this.yv = yv;
  }
  public int getxDirection() {
    return xDirection;
  }
  public void setxDirection(int xDirection) {
    this.xDirection = xDirection;
  }
  public int getyDirection() {
    return yDirection;
  }
  public void setyDirection(int yDirection) {
    this.yDirection = yDirection;
  }
  // changes the direction on the X axis
  public void toggleXDirection() {
    xDirection = xDirection * -1;
  }
  // changes the direction on the Y axis
  public void toggleYDirection() {
    yDirection = yDirection * -1;
  }
}

2. main.java文件:

public void run() {
  Canvas canvas;
  Log.d(TAG, "Starting game loop");
  while (running) {
    canvas = null;
    // try locking the canvas for exclusive pixel editing
    // in the surface
    try {
      canvas = this.surfaceHolder.lockCanvas();
      synchronized (surfaceHolder) {
        // update game state
        this.gamePanel.update();
        // render state to the screen
        // draws the canvas on the panel
        this.gamePanel.render(canvas);
      }
    } finally {
      // in case of an exception the surface is not left in
      // an inconsistent state
      if (canvas != null) {
        surfaceHolder.unlockCanvasAndPost(canvas);
      }
    }  // end finally
  }
}
public void update() {
  // check collision with right wall if heading right
  if (droid.getSpeed().getxDirection() == Speed.DIRECTION_RIGHT
      && droid.getX() + droid.getBitmap().getWidth() / 2 >= getWidth()) {
    droid.getSpeed().toggleXDirection();
  }
  // check collision with left wall if heading left
  if (droid.getSpeed().getxDirection() == Speed.DIRECTION_LEFT
      && droid.getX() - droid.getBitmap().getWidth() / 2 <= 0) {
    droid.getSpeed().toggleXDirection();
  }
  // check collision with bottom wall if heading down
  if (droid.getSpeed().getyDirection() == Speed.DIRECTION_DOWN
      && droid.getY() + droid.getBitmap().getHeight() / 2 >= getHeight()) {
    droid.getSpeed().toggleYDirection();
  }
  // check collision with top wall if heading up
  if (droid.getSpeed().getyDirection() == Speed.DIRECTION_UP
      && droid.getY() - droid.getBitmap().getHeight() / 2 <= 0) {
    droid.getSpeed().toggleYDirection();
  }
  // Update the lone droid
  droid.update();
}

希望本文所述对大家的Android程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, 屏幕
移动图片
android屏幕共享实现、android 实现屏幕截图、android 屏幕休眠实现、android 实现接口方法、android屏幕适配方法,以便于您获取更多的相关知识。

时间: 2024-09-09 08:56:11

Android实现在屏幕上移动图片的方法_Android的相关文章

Android实现在屏幕上移动图片的方法

本文实例讲述了Android实现在屏幕上移动图片的方法.分享给大家供大家参考.具体实现方法如下: 1. Speed.java文件: package net.obviam.droidz.model.components; public class Speed { public static final int DIRECTION_RIGHT = 1; public static final int DIRECTION_LEFT = -1; public static final int DIREC

Android实现ListView异步加载图片的方法_Android

本文实例讲述了Android实现ListView异步加载图片的方法.分享给大家供大家参考.具体如下: ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好,不用让用户等待下去,下面就说实现方法,先贴上主方法的代码: package cn.wangmeng.test; import java.io.IOException; import java.io.InputStream; import java.lang.ref.SoftReferen

Android实现TextView显示HTML加图片的方法_Android

本文实例讲述了Android实现TextView显示HTML加图片的方法.分享给大家供大家参考,具体如下: TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运行,则不能显示图片,只显示小方框. 究其原因,是在4.0的系统上执行的时候报错了,异常是:Android.os.NetworkOnMainThreadException 经过查文档,原来是4.

Android编程实现等比例显示图片的方法_Android

本文实例讲述了Android编程实现等比例显示图片的方法.分享给大家供大家参考,具体如下: 在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧. 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawable-hdpi的话,图片是被自动放大,就这样取到的宽与高未必就是正确的.那么如何让android上面显示的图片是基于原来图片的比例呢,首先你可以在res目录下创建一个drawable-nodpi的目录,这个目录

Android中TextView显示插入的图片实现方法_Android

本文实例讲述了Android中TextView显示插入的图片实现方法.分享给大家供大家参考,具体如下: Android系统默认给TextView插入图片提供了三种方式: 1.ImageSpan 2.Html.ImageGetter 3.TextView.setCompoundDrawables(left, top, right, bottom) 1.TextView使用ImageSpan显示图片 ImageSpan span = new ImageSpan(this, R.drawable.ic

Android简单实现屏幕下方Tab菜单的方法_Android

本文实例讲述了Android简单实现屏幕下方Tab菜单的方法.分享给大家供大家参考,具体如下: 看到很多热门的Android程序(如:新浪微博.腾讯微博.京东商城.淘宝.当当等等)使用选项卡风格作为程序界面的主框架结构,而Android的选项卡控件默认是按钮在上方的.我在网上看到有多种实现方法,这里提供一种个人觉得比较简单的.由于我对Android开发所知甚少,方法的优劣目前不好评价,欢迎各位提供更好的思路. 主要原理:设置 TabWidget 控件的 android:layout_alignP

Android开发 旋转屏幕导致Activity重建解决方法_Android

Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何"设置"(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration. "屏幕方向"(orientation)是一个Configuration,通过查看Configuration类的javadoc可以看到其他Configuration还有哪些:如fontScale.ke

Android开发之使用GridView展示图片的方法_Android

本文实例讲述了Android使用GridView展示图片的方法.分享给大家供大家参考,具体如下: 今天说说GridView的使用. 所谓GvidView翻译过来就是网格布局:是一个ViewGroup以网格显示它的子视图(view)元素,即二维的.可滚动的网格.网格元素通过ListAdapter自动插入到网格. 这个GridView用处特别多,我这里是用来展示广告的.2*3的广告位置. 废话少说先看个效果图,有图就可以说个XX,对吧,大家都懂的. 大家可以看到搜索下面的那6个块,效果布局还行吧,哈

Android编程显示网络上的图片实例详解_Android

本文实例讲述了Android编程显示网络上的图片的方法.分享给大家供大家参考,具体如下: 在Android中显示网络上的图片,需要先根据url找到图片地址,然后把该图片转化成Java的InputStream,然后把该InputStream流转化成BitMap,BitMap可以直接显示在android中的ImageView里.这就是显示网络上图片的思路,实现起来很简单.下面让我们看一下实现起来的过程. 首先在AndroidManifest.xml中给程序加上访问Internet的权限: 复制代码