打飞机

        如果有人喜欢的,可以下载下来看一下。如果是大神的,帮我看一下,为什么我的“滚动背景”在两张图片交叉处,有点上下浮动,一直找不到原因。谢谢了……

//以下是根据《全民打飞机》的飞机移动方式,改写的飞机移动代码

private float downX,downY;//点击的位置
private float posX,posY;//飞机的位置
private boolean isDown;//点击标志
@Override
public void touchDown(MotionEvent event) {

//点击屏幕位置
downX = event.getX();
downY = event.getY();

//记录下当前飞机所在的位置
posX = player.getX();
posY = player.getY();
Log.i("TEST", "downX="+downX+",downY="+downY);
isDown = true;//点击屏幕
标志

}


@Override
public void touchUp(MotionEvent event) {
isDown = false;

//飞机的活动区域
if(player.getWidth()>mWidth){
player.setX(mWidth-PLAN_WIDTH);
player.setWidth(mWidth);
}else if(player.getX()<0){
player.setX(0);
player.setWidth(PLAN_WIDTH);
}
if(player.getY()<0){
player.setY(0);
player.setHeight(PLAN_HEIGHT);
}else if(player.getHeight()>mHeight){
player.setY(mHeight-PLAN_HEIGHT);
player.setHeight(mHeight);
}
}


@Override
public void touchMove(MotionEvent event) {


if(isDown){

//滑动的距离
float w = event.getX()-downX;
float h = event.getY()-downY;
Log.i("TEST", "w="+w+",h="+h);
//原来的距离+移动的距离
player.setX(posX+w);
player.setWidth(player.getX() + PLAN_WIDTH);
player.setY(posY+h);
player.setHeight(player.getY() + PLAN_HEIGHT);
}
}


http://download.csdn.net/detail/util_c/6843959

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中创建一个简单的打飞机游戏(通常称为"Space Invaders"风格)源文件涉及到多个类和文件的组织。以下是一个简化的框架,包括主要的类和文件结构: 1. **Game.java**: 游戏主类,通常包含游戏循环、菜单管理、玩家控制等功能。 ```java // Game.java public class Game extends JPanel { private Player player; private Enemy alienFleet; // ...其他游戏元素和方法... public static void main(String[] args) { EventQueue.invokeLater(() -> { JFrame frame = new JFrame("Space Shooter"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new Game()); frame.pack(); frame.setVisible(true); }); } } ``` 2. **Player.java**: 玩家类,包含位置、移动和射击等方法。 ```java public class Player extends GameObject { // ...成员变量, 如位置、生命值、子弹... // 方法如 move(), shoot() } ``` 3. **Enemy.java**: 敌人对象,可能包含类似的位置和移动行为。 ```java public class Enemy extends GameObject { // ...成员变量, 如位置、速度... // 方法如 moveTowardsPlayer() } ``` 4. **GameObject.java**: 基础游戏对象类,通常包含位置和显示方法。 ```java public abstract class GameObject { protected int x, y; // ...其他通用方法, 如 setLocation(), render() } ``` 5. **Bullet.java**: 子弹类,继承自GameObject。 ```java public class Bullet extends GameObject { // ...成员变量, 如速度、是否发射中... // 方法如 move(), collideWith() } ``` 6. **GraphicsUtils.java**: 可能包含一些图形相关的工具方法,如颜色处理、碰撞检测等。 7. **SoundManager.java**: 声音管理类,用于播放音频效果。 8. **Menu.java**: 游戏菜单类,用于控制开始游戏、设置等操作。 9. **main.xml**: 如果使用Swing布局,可能会有一个XML文件来定义界面布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值