android 更加复杂的小鱼游
16lz
2021-01-23
MainActivity.java
package com.mz.demo09;import java.util.Random;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.DisplayMetrics;import android.widget.ImageView;public class MainActivity extends Activity { private ImageView img; private ImageView img2; private ImageView img3; private Handler handler; private Thread thread; private int x=100; private int y=100; private int x2=150; private int y2=150; private int x3=200; private int y3=200; private int screenX; private int screenY; private boolean flag_x; private boolean flag_y; private boolean flag_x2; private boolean flag_y2; private boolean flag_x3; private boolean flag_y3; private boolean isSwim=true; private int lfish[]={R.drawable.lbigfish1,R.drawable.lbigfish2, R.drawable.lbigfish3,R.drawable.lbigfish4, R.drawable.lbigfish5,R.drawable.lbigfish6, R.drawable.lbigfish7,R.drawable.lbigfish8, R.drawable.lbigfish9,R.drawable.lbigfish10 }; private int rfish[]={R.drawable.rbigfish1,R.drawable.rbigfish2, R.drawable.rbigfish3,R.drawable.rbigfish4, R.drawable.rbigfish5,R.drawable.rbigfish6, R.drawable.rbigfish7,R.drawable.rbigfish8, R.drawable.rbigfish9,R.drawable.rbigfish10 }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); img=(ImageView)this.findViewById(R.id.img); img2=(ImageView)this.findViewById(R.id.img2); img3=(ImageView)this.findViewById(R.id.img3); DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); screenX=dm.widthPixels; screenY=dm.heightPixels; handler=new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); int p=msg.what; int move_x=msg.arg1; int move_y=msg.arg1; int move_x2=msg.arg2; int move_y2=msg.arg2; if(x>(screenX-img.getWidth())){ flag_x=false; }else if(x<=0){ flag_x=true; }if(flag_x){ img.setBackgroundResource(rfish[p]); x+=move_x; img.setX(x); img.setY(y); }else{ img.setBackgroundResource(lfish[p]); x-=move_x; img.setX(x); img.setY(y); } if(y>(screenY-img.getHeight())){ flag_y=false; }else if(y<=0){ flag_y=true; }if(flag_y){ y+=move_y; img.setX(x); img.setY(y); }else{ y-=move_y; img.setX(x); img.setY(y); } /*************2**************/ if(x2>(screenX-img2.getWidth())){ flag_x2=false; }else if(x2<=0){ flag_x2=true; }if(flag_x2){ img2.setBackgroundResource(rfish[p]); x2+=move_x; img2.setX(x2); img2.setY(y2); }else{ img2.setBackgroundResource(lfish[p]); x2-=move_x; img2.setX(x2); img2.setY(y2); } if(y2>(screenY-img2.getHeight())){ flag_y2=false; }else if(y2<=0){ flag_y2=true; }if(flag_y2){ y2+=move_y; img2.setX(x2); img2.setY(y2); }else{ y2-=move_y; img2.setX(x2); img2.setY(y2); } /***********************3************/ if(x3>(screenX-img3.getWidth())){ flag_x3=false; }else if(x3<=0){ flag_x3=true; }if(flag_x3){ img3.setBackgroundResource(rfish[p]); x3+=move_x2; img3.setX(x3); img3.setY(y3); }else{ img3.setBackgroundResource(lfish[p]); x3-=move_x2; img3.setX(x3); img3.setY(y3); } if(y3>(screenY-img3.getHeight())){ flag_y3=false; }else if(y3<=0){ flag_y3=true; }if(flag_y3){ y3+=move_y2; img3.setX(x3); img3.setY(y3); }else{ y3-=move_y2; img3.setX(x3); img3.setY(y3); } } }; thread=new Mythread(); thread.start(); } class Mythread extends Thread{ @Override public void run() { int index; int what=1; int index2; while(isSwim){ index=(new Random()).nextInt(5); index2=(new Random()).nextInt(8); Message msg=handler.obtainMessage(); msg.arg1=index; msg.arg2=index2; handler.sendMessage(msg); handler.sendEmptyMessage((what++)%10); try { thread.sleep(100);//!!! } catch (Exception e) { // TODO: handle exception } } // TODO Auto-generated method stub super.run(); } }}
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/bg1" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/img2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/img3" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mz.demo09" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >//全屏 <activity android:label="@string/app_name" android:name=".MainActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
更多相关文章
- Android保存图片到图库,Android扫描文件到媒体库,Android保存图片
- Android 框架学习4:一次读懂热门图片框架 Picasso 源码及流程
- 关于android中网络图片下载中oom解决开源框架Afinal的探究
- Android App 性能优化之图片优化
- 常用组件:android的图片组件ImageView
- Android移动图片
- Android上传图片到七牛云看这篇就够了