getRefPixelX()指的是什么解决思路
发布时间:2010-06-05 12:43:07 文章来源:www.iduyao.cn 采编人员:星星草
getRefPixelX()指的是什么
我在一款飞机射击类游戏中看到,导弹的获得坐标是int nX = getRefPixelX() + m_nSpeedX;请问getRefPixelX()指的是什么,谢谢。
------解决方案--------------------
import java.util.Random;
import javax.microedition.lcdui.Image;
public class EnemyPlane extends PlaneSprite{
private Random m_Random;
EnemyPlane( Image img, int nWidth, int nHeight ){
super( img, nWidth, nHeight );
m_Random = new Random();
}
//逻辑操作
public void Logic( int scrWidth, int scrHeight ){
super.Logic(scrWidth, scrHeight);
if( isVisible() == false )
return;
int nX = getRefPixelX() + m_nSpeedX;
int nY = getRefPixelY() + m_nSpeedY;
setRefPixelPosition( nX, nY );
if( getRefPixelX() < -getWidth() ||
getRefPixelX() > scrWidth + getWidth() ||
getRefPixelY() < -getHeight()||
getRefPixelY() > scrHeight + getHeight() )
setVisible(false);
CreateMissile();
}
//发射炮弹
private void CreateMissile(){
//如果已经发射了炮弹,则暂时不能发射
if( m_Missile.isVisible() )
return;
int RS = Math.abs(m_Random.nextInt() % 30 );
if( RS != 0 )
return;
int nSpeedX = m_Random.nextInt() % 2;
int nSpeedY = Math.abs(m_Random.nextInt() % 2 ) + 1;
m_Missile.SetSpeed( nSpeedX, nSpeedY );
m_Missile.setRefPixelPosition(
getRefPixelX(), getRefPixelY() );
m_Missile.setVisible(true);
}
}
//package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class MissileSprite extends Sprite{
private int m_nSpeedX = 0; //导弹X方向的移动速率
private int m_nSpeedY = 0; //导弹Y方向的移动速率
MissileSprite(Image image, int frameWidth, int frameHeight){
super( image, frameWidth, frameHeight );
defineReferencePixel( frameWidth / 2, frameHeight / 2 );
setVisible(false);
}
//设置移动速率,注意速率与速度的差别
public void SetSpeed( int nSpeedX, int nSpeedY ){
m_nSpeedX = nSpeedX;
m_nSpeedY = nSpeedY;
}
//逻辑操作,参数scrWidth、scrHeight分别是屏幕的宽和高
public void Logic( int scrWidth, int scrHeight ){
if( isVisible() == false )
return;
int nX = getRefPixelX() + m_nSpeedX;
int nY = getRefPixelY() + m_nSpeedY;
setRefPixelPosition( nX, nY );
if( getRefPixelX() < -getWidth() ||
getRefPixelX() > scrWidth + getWidth()||
getRefPixelY() < -getHeight() ||
getRefPixelY() > scrHeight + getHeight() )
setVisible(false);
}
}
//package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class ExplosionSprite extends Sprite{
ExplosionSprite(Image image, int frameWidth, int frameHeight) {
super(image, frameWidth, frameHeight);
defineReferencePixel( frameWidth / 2, frameHeight / 2 );
setVisible( false );
}
//开起爆炸
//参数nX、nY分别是爆炸位置的横纵坐标
public void Start( int nX, int nY ){
setRefPixelPosition( nX, nY );
setVisible(true);
setFrame(0);
}
//逻辑操作,产生爆炸动画
public void Logic(){
if( !isVisible() )
return;
int nFrame = getFrame();
nFrame ++;
if( nFrame >= getFrameSequenceLength() ){
setVisible( false );
return;
}
setFrame( nFrame );
}
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
myeclipse上开发j2me的错误提示怎么看(找个好多没有解决的,CSDN能人出来啊......)
对于javame的提示实在无语啊。如下
java.lang.I...
-
命令行执行java程序,含有多个包
我定义了一个java project 叫project1,
然后建立了两个package,(注意都不是jar包)
一个叫animaltestdr...
-
j2me新手问题
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class gamestart extends...
-
j2me中如何用代码判断两次pointerPressed之间的时间差?
j2me中如何用代码判断两次pointerPressed之间的时间差?
------解决方案---...
-
通过电脑上wap浏览器可以进入我的wap网站,但是手机不能上,为什么?
我做了wap网站,通过花生壳挂接到外网上了。
通过电脑上wap浏览器可...
-
不含声音文件,如何播放声音?塞班
今天看了一下“飞信JAVA 1.0版”,安装后,信息提示音跟电子音似的。
解压后,发现只有一堆class文件,和...
-
怎么看wtk的源码?高分求助!
我们平时使用eclipse时,点右键选open declaration,或者按F3即可查看源码。现在我建了一个J2ME Midlet工程...
-
如何使用外部js验证下拉列表是否选择
我想使用js对表单进行验证,其中有一个下拉列表,如何验证这个下拉列表在提交的时候已经做过选...
-
关于GUI的一个问题(分不多了,请谅解)
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMouseAdap...
-
j2me socket读取服务器中文出乱码
conn = (SocketConnection) Connector.open(addr ,Connector.READ_WRITE);
conn.setSocketOpti...