MyPlayerSprite.java
上传用户:pyly5030
上传日期:2021-09-17
资源大小:174k
文件大小:2k
源码类别:

射击游戏

开发平台:

Java

  1. import javax.microedition.lcdui.Graphics;
  2. import javax.microedition.lcdui.Image;
  3. import javax.microedition.lcdui.game.Sprite;
  4. public class MyPlayerSprite extends Sprite {
  5. public static final int moveSpeed = 5;
  6. private int x,y;
  7. private int scnWidth,scnHeight;
  8. private int frameWidth,frameHeight;
  9. private int frame;
  10. private int lives;
  11. public MyPlayerSprite(Image image, int frameWidth, int frameHeight) {
  12. super(image, frameWidth, frameHeight);
  13. }
  14. public MyPlayerSprite(Image image, int frameWidth, int frameHeight,int scnWidth, int scnHeight) {
  15. super(image,frameWidth,frameHeight);
  16. this.scnWidth = scnWidth;
  17. this.scnHeight = scnHeight;
  18. this.frameWidth = frameWidth;
  19. this.frameHeight = frameHeight;
  20. x = scnWidth/2;
  21. y = scnHeight/2;
  22. this.frame = 1;
  23. this.lives = 3;
  24. }
  25. public Sprite fire(Image bullets){
  26. Sprite bullet = new Sprite(bullets,2,2);
  27. getXY();
  28. bullet.setPosition(x+bullet.getWidth()/2+this.getWidth()/2, y);
  29. bullet.setFrame(0);
  30. return bullet;
  31. }
  32. public void startPosition(){
  33. setPosition(scnWidth/2, scnHeight/2);
  34. }
  35. public void moveLeft(){
  36. getXY();
  37. if(x - moveSpeed > 0)
  38. move(moveSpeed*-1,0);
  39. }
  40. public void moveRight(){
  41. getXY();
  42. if(x + moveSpeed + frameWidth< scnWidth)
  43. move(moveSpeed,0);
  44. }
  45. public void moveUp(){
  46. getXY();
  47. if(y-moveSpeed>0)
  48. move(0,moveSpeed*-1);
  49. }
  50. public void moveDown(){
  51. getXY();
  52. if(y+moveSpeed+frameHeight<scnHeight)
  53. move(0,moveSpeed);
  54. }
  55. public int getLives() {
  56. return lives;
  57. }
  58. public void setLives(int lives) {
  59. this.lives = lives;
  60. }
  61. public void display(Graphics g){
  62. this.setFrame(frame);
  63. this.paint(g);
  64. }
  65. private void getXY(){
  66. x = getX();
  67. y = getY();
  68. }
  69. }