当前位置: 编程技术>移动开发
本页文章导读:
▪范例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)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游戏引擎。
最新技术文章: