当前位置:  编程技术>移动开发
本页文章导读:
    ▪范例2-获得按键值        实例2---获得按键值 《手机游戏50例》第二个实例为将按键值显示在屏幕上,下面给出MainView.java的代码 package com.wjh.demon_2; import android.content.Context; import android.graphics.Canvas; import android.graphics.Co.........
    ▪ XCode升格方法        XCode升级方法 XCode的升级方法就是下载新的全量版本(PS:没有增量版本),再把老的卸了,再安装新的,MD一个2G多。真是蛋疼的厉害。   卸载方法:在命令提示符下输入 $ sudo /Developer/Library.........
    ▪ AndEngine学习札记       AndEngine学习笔记 暂时先记录一下思考点。回头整理成文。(接触游戏时间不长,理解可能有误。)1)AnimatedSprite 播放动画的Sprite ,开始播放设置mFrog.animate(1000);SnakeGameActivity类183行左右。.........

[1]范例2-获得按键值
    来源: 互联网  发布时间: 2014-02-18
实例2---获得按键值

《手机游戏50例》第二个实例为将按键值显示在屏幕上,下面给出MainView.java的代码

package com.wjh.demon_2;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.inputmethodservice.Keyboard.Key;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;

public class MainView extends View implements Runnable{
	private boolean  m_bRunning = false;
	public int m_nKeyCode;
	public String m_nKeyAction="";
	private Handler handler = null;
	public MainView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
		setFocusable(true);
		start();
	}
	public void start()
	{
		m_bRunning = true;
		//更新
		handler = new Handler(){

			@Override
			public void handleMessage(Message msg) {
				// TODO Auto-generated method stub
				super.handleMessage(msg);
				MainView.this.invalidate();
			}
			
		};
		Thread thread = new Thread(this);
		thread.start();
	}
	//线程启用方法
	public void run()
	{
		while(m_bRunning)
		{
				//重回图形
				handler.sendEmptyMessage(0);
				try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		}
	}
	public void stop()
	{
		m_bRunning = false;
	}
	//画图方法
	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		//设置背景颜色
	
		Paint backGround = new Paint();
		backGround.setColor(Color.BLACK);
		//清屏
		canvas.drawRect(0, 0, getWidth(), getHeight(), backGround);
		//设置画笔颜色
		Paint cPaint = new Paint();
		cPaint.setColor(Color.BLUE);
		cPaint.setTextSize(20);
		//输出按键的设备码
		canvas.drawText("KeyCode:", 10, 20,cPaint);
		canvas.drawText(""+m_nKeyCode,120,20,cPaint);
		//输出按键的设备名
		canvas.drawText("KeyAction:", 10, 80, cPaint);
		canvas.drawText(m_nKeyAction, 120, 80, cPaint);
		
		
		
	}
	//获得按键输入
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		m_nKeyCode = keyCode;
		switch(keyCode)
		{
		case KeyEvent.KEYCODE_DPAD_UP:
			m_nKeyAction = "UP";
			break;
		case KeyEvent.KEYCODE_DPAD_DOWN:
			m_nKeyAction = "DOWN";
			break;
		case KeyEvent.KEYCODE_DPAD_LEFT:
			m_nKeyAction = "LEFT";
			break;
		case KeyEvent.KEYCODE_DPAD_RIGHT:
			m_nKeyAction = "RIGHT";
			break;
		case KeyEvent.KEYCODE_DPAD_CENTER:
			m_nKeyAction = "CENTER";
			break;		
		default:
			m_nKeyAction="/blog_article/NONE/index.html";
			break;
		}
		return super.onKeyDown(keyCode, event);
	}
	
	
	

}
 代码包:Demon_2.rar
1 楼 zhang247124629 2011-05-31  
适合新手..
2 楼 一口三个汉堡 2011-05-31  
zhang247124629 写道
适合新手..

因为我就是新手

    
[2] XCode升格方法
    来源: 互联网  发布时间: 2014-02-18
XCode升级方法

XCode的升级方法就是下载新的全量版本(PS:没有增量版本),再把老的卸了,再安装新的,MD一个2G多。真是蛋疼的厉害。

 

卸载方法:在命令提示符下输入

$ sudo /Developer/Library/uninstall-devtools –mode=all
 安装就不说了,下一步下一步完了。

    
[3] AndEngine学习札记
    来源: 互联网  发布时间: 2014-02-18
AndEngine学习笔记
暂时先记录一下思考点。回头整理成文。(接触游戏时间不长,理解可能有误。)

1)AnimatedSprite 播放动画的Sprite ,开始播放设置mFrog.animate(1000);SnakeGameActivity类183行左右。


2)TextureRegionFactory.createTiledFromAsset方法设置pTexturePositionX,pTexturePositionY的含义:
pTexturePositionX是相对于显存分配空间区域的坐标,既是将所有图片都映射到纹理中,以方便后续的贴图。

3)//设置Texture横向翻转
previousSprite.getTextureRegion().setFlippedHorizontal(true);

4)涉及到精灵运动
for(int i = 0; i < 3; i++) {
easeFunctionNameTexts[i].setText(currentEaseFunctionsSet[i].getClass().getSimpleName());
final Sprite face = faces[i];
face.clearEntityModifiers();

final float y = face.getY();
face.setPosition(0, y);
face.registerEntityModifier(new MoveModifier(3, 0, CAMERA_WIDTH - face.getWidth(), y, y, currentEaseFunctionsSet[i]));
}


5)关于Cammer的一些概念。
2D中Cammer为正交摄像机,可视区域可以理解为Cammer。Cammer多大就能看到多大的位置,
6)Andengine引擎中
ScreenOrientation.LANDSCAPE:水平方向摆放手机。
ScreenOrientation.PORTRAIT:竖直方向摆放手机。
7)Andengine引擎中
RatioResolutionPolicy()是什么概念?参数变大变小,对展现没什么影响?

8)TitleSprite 同Sprite的区别,
他们都是继承BaseSprite
但是TitleSprite可以选择将哪个纹理隐射到屏幕。

9)AndEngine中物体运动有目前知道的只有两种运动方式,一种是通过EntityModifier设置,一种方式是通过Physics设置x,y方向上的初速度。

10)开辟Texture,可以开辟多个Texture来做显存空间,也可以开辟一个比较大的区域做显存空间(以上表述是有问题的。不过我自己是懂意思的。各位看的话,就别这么理解了。等过几天有时间整理一下,再看吧)
1 楼 jameslin_2011 2011-07-30  
观注。希望能出多些相关文章,学习中。
2 楼 weishen 2011-09-21  
AndEngine还是一个比较不错的游戏引擎,起码对于初学者还是比较容易上手的。建议,如果是真正去使用AndEngine去开发游戏,必须得进行二次封装,因为我们可以注意到,从创建一个游戏精灵或者说一个游戏背景都是有很多繁琐而又重复的工作,所以可以考虑整合andEngine游戏引擎。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3