Benutzer-Werkzeuge

Webseiten-Werkzeuge


objektbeziehungen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
objektbeziehungen:start [2024/03/19 13:33] – [Erstes Projekt: Die Klasse Ghost] Martin Pabstobjektbeziehungen:start [2024/04/09 12:06] (aktuell) – [Bewegen des Geistes] Martin Pabst
Zeile 123: Zeile 123:
 </WRAP> </WRAP>
  
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 40vh; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Ghost2a'}">
 +
 +<script type="text/plain" title="Ghost.java">
 +Ghost g = new Ghost(400, 300, 0x308020);
 +g.setDirection("right");
 +g.setDirection("top");
 +g.setDead(true);
 +
 +
 +class Ghost extends Actor {
 +   private Sprite body;
 +   private Sprite eyes;
 +
 +   private String direction = "none";
 +   private boolean isDead = false;
 +   private int color;
 +
 +   Ghost(double x, double y, int color) {
 +      body = new Sprite(x, y, SpriteLibrary.PMan, 15);
 +      eyes = new Sprite(x, y, SpriteLibrary.PMan, 19);
 +      this.color = color;
 +
 +      changeEyes();
 +      changeBody();
 +
 +      body.playAnimation(15, 16, RepeatType.loop, 4);
 +   }
 +
 +   public void act() {
 +      if(isKeyDown("a")) {
 +         body.move(-4, 0);
 +         eyes.move(-4, 0);
 +      }
 +
 +      if(isKeyDown("d")) {
 +         body.move(4, 0);
 +         eyes.move(4, 0);
 +      }
 +
 +      if(isKeyDown("w")) {
 +         body.move(0, -4);
 +         eyes.move(0, -4);
 +      }
 +
 +      if(isKeyDown("s")) {
 +         body.move(0, 4);
 +         eyes.move(0, 4);
 +      }
 +   }
 +
 +   void setDead(boolean isDead) {
 +      this.isDead = isDead;
 +      changeEyes();
 +      changeBody();
 +   }
 +
 +   void setDirection(String direction) {
 +      this.direction = direction;
 +      changeEyes();
 +   }
 +
 +   private void changeEyes() {
 +      if(isDead) {
 +         eyes.setImageIndex(21);
 +      } else {
 +         switch(direction) {
 +            case "top"
 +               eyes.setImageIndex(19);
 +               break;
 +            case "bottom"
 +               eyes.setImageIndex(20);
 +               break;
 +            case "left"
 +               eyes.setImageIndex(18);
 +               break;
 +            case "right"
 +               eyes.setImageIndex(17);
 +               break;
 +            default : 
 +               eyes.setImageIndex(19); 
 +         }
 +      }
 +   }
 +
 +   private void changeBody() {
 +      if(isDead) {
 +         body.tint(0x2828ff);
 +         body.setAlpha(0.8);
 +      } else {
 +         body.tint(color);
 +         body.setAlpha(1.0);
 +      }
 +   }
 +
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
  
objektbeziehungen/start.1710855214.txt.gz · Zuletzt geändert: 2024/03/19 13:33 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki