Quaxli's Heli Spiel läuft nicht nach Plan

Sessiolog

Mitglied
System.out.println("Hallo Community!");

Seit gestern bin ich mit dem Bearbeiten von Quaxli's Game-Tutorial beschäftigt.
Das Tutorial an sich ist super, aber ich bin mir sicher, dass Quaxli schon öfter sowas gehört hat. :)
Mittlerweile bin ich so ungefähr auf Seite 60 angekommen, habe es fast durch, aber so wirklich fertig werde ich damit nicht, denn irgendetwas funktioniert nicht so ganz nach Plan. Seitdem ich die Kollisionsabfrage in das Spiel eingebaut habe, passieren bei der Ausführung des Programmes mysteriöse Dinge. Der Helikopter verschwindet einfach und die Raketen verschwinden bei dem selben Punkt auf der X-Achse, an dem auch der Helikopter futsch gegangen ist.

Meinen Code habe ich mindestens 5 mal mit dem Originalen Quellcode verglichen. Alles ist da wo es sein sollte. Mein Code ist Wort für Wort, Zeile für Zeile mit dem Original identisch. Trotzdem ist der Fehler immer noch vorhanden, während die Ausführung des Originales einwandfrei läuft.
Geschrieben habe ich den Code mit Notepad++. Kompiliert und ausgeführt wird per KommandoZeile. Ich frage mich, ob es vielleicht andere Ursachen
für meine Fehlerhafte Version des Spieles gibt. Hätte da jemand Ideen? Für Lösungsvorschläge wäre ich sehr dankbar. :)
 
Zuletzt bearbeitet:

Androbin

Bekanntes Mitglied
Da du das Thema als "erledigt" markiert hast, scheinst du wohl den Fehler gefunden zu haben!
Könntest du uns bitte auch erklären, wo der Fehler lag, damit andere aus deinem Fehler lernen können?
 

Sessiolog

Mitglied
Klar, kann ich machen. Um das zu verstehen, wäre es sinnvoll, wenn man das Tutorial im PDF vorliegend hat. Googelt mal nach "Java Quaxli Tutorial", und ihr werdet fündig.
Die Klasse "Sprite", wie sie von Quaxli geschrieben wurde sieht wie folgt aus:

Java:
import java.awt.Graphics;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;

public abstract class Sprite extends Rectangle2D.Double implements Drawable, Movable{

	long delay;
	long animation = 0;
	GamePanel parent;
	BufferedImage[] pics;
	int currentpic = 0;
  
	protected double dx;
	protected double dy;
	
	int loop_from;
	int loop_to;
	
	boolean remove;
	
	public Sprite(BufferedImage[] i, double x, double y, long delay, GamePanel p ){
		pics = i;
		this.x = x;
		this.y = y;
		this.delay = delay;
		this.width = pics[0].getWidth();
		this.height = pics[0].getHeight();
	  parent = p;
	  loop_from = 0;
	  loop_to = pics.length-1;
	}
	
	public void drawObjects(Graphics g) {
		g.drawImage(pics[currentpic], (int) x, (int) y, null);
	}

	public void doLogic(long delta) {
		
		animation += (delta/1000000);
		if (animation > delay) {
			animation = 0;
			computeAnimation();
		}
		
	}

	private void computeAnimation(){
    
		currentpic++;

    if(currentpic>loop_to){
        currentpic = loop_from;
    }
		
	}
		
	public void setLoop(int from, int to){
		loop_from = from;
		loop_to   = to;
		currentpic = from;
	}
	
	public void move(long delta) {
		
    if(dx!=0){
      x += dx*(delta/1e9);
    }
    
    if(dy!=0){
      y += dy*(delta/1e9);
    }
    
	}
	
	public double getHorizontalSpeed() {
		return dx;
	}

	public void setHorizontalSpeed(double dx) {
		this.dx = dx;
	}

	public double getVerticalSpeed() {
		return dy;
	}

	public void setVerticalSpeed(double dy) {
		this.dy = dy;
	}

	public abstract boolean collidedWith(Sprite s);
	
  public boolean checkOpaqueColorCollisions(Sprite s){
    
    Rectangle2D.Double cut = (Double) this.createIntersection(s);
    
    if((cut.width<1)||(cut.height<1)){
      return false;
    }
    
    // Rechtecke in Bezug auf die jeweiligen Images
    Rectangle2D.Double sub_me = getSubRec(this,cut);
    Rectangle2D.Double sub_him = getSubRec(s,cut);
    
    BufferedImage img_me = pics[currentpic].getSubimage((int)sub_me.x,(int)sub_me.y,
    													(int)sub_me.width,(int)sub_me.height);
    BufferedImage img_him = s.pics[s.currentpic].getSubimage((int)sub_him.x,(int)sub_him.y,
    													(int)sub_him.width,(int)sub_him.height);
    
    for(int i=0;i<img_me.getWidth();i++){
      for(int n=0;n<img_him.getHeight();n++){

        int rgb1 = img_me.getRGB(i,n); 
        int rgb2 = img_him.getRGB(i,n);

        
        if(isOpaque(rgb1)&&isOpaque(rgb2)){
          return true;
        }
        
      }
    }
    
    return false;
  }
  
  protected Rectangle2D.Double getSubRec(Rectangle2D.Double source, Rectangle2D.Double part) {
    
    //Rechtecke erzeugen
    Rectangle2D.Double sub = new Rectangle2D.Double();
    
    //get X - compared to the Rectangle
    if(source.x>part.x){
      sub.x = 0;
    }else{
      sub.x = part.x - source.x;
    }
    
    if(source.y>part.y){
      sub.y = 0;
    }else{
      sub.y = part.y - source.y;
    }

    sub.width = part.width;
    sub.height = part.height;
    
    return sub;
  }
  
  protected boolean isOpaque(int rgb) {

    int alpha = (rgb >> 24) & 0xff;  
    //red   = (rgb >> 16) & 0xff;  
    //green = (rgb >>  8) & 0xff;  
    //blue  = (rgb ) & 0xff;  
    
    if(alpha==0){
      return false;
    }

    return true;
    
  }
}
Bei mir hat dieser Code allerdings nicht so funktioniert, weshalb ich probehalber noch Set/Get Methoden dazugeschrieben habe. Also:
Java:
public void setX(double x) {
		this.x = x;
	}
	
	public void setY(double y) {
		this.y = y;
	}
	
	public double getX() {
		return x;
	}
	
	public double getY() {
		return y;
	}
Mit den 4 neuen Methoden funktioniert alles einwandfrei. Seltsam, wenn ihr mich fragt, schließlich erbt Sprite ja von Rectangle2D.Double und sollte daher diese Methoden von vornherein implizieren. Mysteriös, mysteriös.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Umbau des Spiels von Quaxli Spiele- und Multimedia-Programmierung 4
A Drawable und Moveable in Quaxli 2D Spiele Tutorial Spiele- und Multimedia-Programmierung 7
M Sprite Library (in Anlehnung an Quaxli) Spiele- und Multimedia-Programmierung 14
E Quaxli Tutorial Problemchen Spiele- und Multimedia-Programmierung 3
M Problem mit 2D-Spieleprogrammierung Tutorial von Quaxli Spiele- und Multimedia-Programmierung 7
I Bilder aus Quaxli's Tutorial Spiele- und Multimedia-Programmierung 3
M Quaxli Tuorial - Raketen Spiele- und Multimedia-Programmierung 2
K My First Game "ORB" vielen Dank Quaxli Spiele- und Multimedia-Programmierung 23
H Tutorial von Quaxli (Problem) Spiele- und Multimedia-Programmierung 16
S [SUCHE] 2D-Spieleprogrammierung (Autor: Quaxli) zum Download Spiele- und Multimedia-Programmierung 2
K Game-Tutorial von Quaxli Fragen Spiele- und Multimedia-Programmierung 18
Gossi Erweiterung von Quaxlis Heli-Spiel Spiele- und Multimedia-Programmierung 16
T Bekanntes Heli Spiel -> Aber Probleme damit Spiele- und Multimedia-Programmierung 30
radiac Sprit ist leer bei Quaxli´s Heli Tutorial Spiele- und Multimedia-Programmierung 28
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
Devil0s Spiel laggt trotz 90 FPS (bei der Anzeige) Spiele- und Multimedia-Programmierung 9
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
L Korrekte Darstellung von Wasser in 2D Spiel Spiele- und Multimedia-Programmierung 4
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
J wohin mit der Logik des Spiel Spiele- und Multimedia-Programmierung 2
R Experimente mit Quaxlis Spiel Spiele- und Multimedia-Programmierung 12
W Spiel-Grundlagen selbst austüfteln: Kollisionen? Spiele- und Multimedia-Programmierung 3
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
M Automaten Spiel Spiele- und Multimedia-Programmierung 27

Ähnliche Java Themen

Neue Themen


Oben