Android基础教程(奋斗之小鸟)_PDF 电子书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Android 飞翔的小鸟游戏的代码示例,仅供参考: ``` public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ImageView bird; private ImageButton btnJump; private FrameLayout frame; private int frameHeight, birdSize; private int screenHeight, screenWidth; private int birdYPosition; private int gravity = 3; private int jumpPower = -30; private boolean isJumping = false; private Handler handler = new Handler(); private Timer timer = new Timer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bird = findViewById(R.id.bird); btnJump = findViewById(R.id.btnJump); frame = findViewById(R.id.frame); // 获取屏幕尺寸 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); screenHeight = metrics.heightPixels; screenWidth = metrics.widthPixels; // 设置点击监听器 btnJump.setOnClickListener(this); // 设置定时器 timer.schedule(new TimerTask() { @Override public void run() { handler.post(new Runnable() { @Override public void run() { birdYPosition += gravity; bird.setY(birdYPosition); if (birdYPosition < 0) { birdYPosition = 0; } if (birdYPosition > frameHeight - birdSize) { birdYPosition = frameHeight - birdSize; } if (isJumping) { birdYPosition += jumpPower; bird.setY(birdYPosition); isJumping = false; } } }); } }, 0, 20); } @Override public void onClick(View v) { if (v.getId() == R.id.btnJump) { isJumping = true; } } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { frameHeight = frame.getHeight(); birdSize = bird.getHeight(); birdYPosition = bird.getTop(); } } } ``` 这段代码中,我们使用了一个定时器来控制小鸟的运动,通过点击按钮来触发小鸟跳跃的动作。在 `onCreate` 方法中,我们获取了屏幕的尺寸,并设置了一个定时器。在定时器中,我们根据重力和跳跃力来控制小鸟的位置,并判断小鸟是否跳跃。在 `onClick` 方法中,我们设置了一个标志来表示小鸟正在跳跃。在 `onWindowFocusChanged` 方法中,我们获取了小鸟和游戏画面的尺寸,并初始化了小鸟的位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值