Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import java.util.Date; import javax.swing.JFrame; import javax.swing.JPanel; public class Rpg extends JPanel { private Map map; private InputController steuerung; private Hero hero; private double deltaTime; public static void main(String arg[]) { Rpg rpg = new Rpg(); } public Rpg() { // Wir erstellen ein neues Frame, in dem wir JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(640,640); frame.setTitle("RPG von Lajos, Maurice, Mario und Kai"); frame.setVisible(true); frame.add(this); setFocusable(true); // Wichtig, damit der Fokus auf unserem Panel liegt und somit unser InputController angesprochen wird map = new Map("map.jpg"); steuerung = new InputController(); addKeyListener(steuerung); hero = new Hero(50, 50); double lastTime = new Date().getTime(); while(true) { // deltaTime ist lediglich der Zeitunterschied seit jetzt und dem letzten Frame, da getTime die Zeit in Millisekunden holt, teile ich noch durch 1000, dann haben wir Sekunden deltaTime = (new Date().getTime() - lastTime) / 1000; lastTime = new Date().getTime(); repaint(); // ruft paintComponent-Methode auf auf try { Thread.sleep(30); } catch (InterruptedException e1) {} } } class WindowListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } // Ruft unsere beiden Hauptmethoden auf, wird von der repaint-Methode unseres Panels aufgerufen public void paintComponent(Graphics pG){ update(); draw(pG); } // Update-Methode, zuständig für die Spielelogik public void update() { hero.moveing = false; if(steuerung.Hoch) { hero.direction = 3; // Beispiel für die Anwendung der deltaTime: der Held bewegt sich so um hero.moveSpeed (hab ich mal auf 100 festgelegt) pro Sekunde hero.y -= hero.moveSpeed * deltaTime; hero.moveing = true; } if(steuerung.Runter) { hero.direction = 0; hero.y += hero.moveSpeed * deltaTime; hero.moveing = true; } if(steuerung.Links) { hero.direction = 1; hero.x -= hero.moveSpeed * deltaTime; hero.moveing = true; } if(steuerung.Rechts) { hero.direction = 2; hero.x += hero.moveSpeed * deltaTime; hero.moveing = true; } } // Draw-Methode, zuständig für das darstellen deiner Objekte public void draw(Graphics g) { map.draw(g); hero.draw(g); } } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import java.awt.*; import java.awt.event.*; public class Map extends Frame { Image map; Image sprite; private renderMap render; public int mapSize_x=20; public int mapSize_y=20; private int x=1; private int y=1; public int[][] tiles; // Array, das die Nummern der Tiles speichert public Map(String Pmap) { render = new renderMap(); map = getToolkit().getImage("map.jpg"); sprite = getToolkit().getImage("Tileset.png"); tiles = new int[mapSize_x][mapSize_y]; tiles[mapSize_x][mapSize_y]=(int)(Math.random()*6); } public void draw(Graphics g) { g.drawImage(map, 0, 0, this); for(int i=0; i<639; i=i+32) { for(int j=0; j<639; j=j+32) { g.drawImage(sprite, i, j, i+32, j+32, render.sx1, render.sy1, render.sx2, render.sy2, this); } } } } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
import java.awt.*; import java.awt.event.*; public class renderMap extends Frame { private Map map; public int sx1=0; public int sy1=0; public int sx2=32; public int sy2=32; public void sprite() { map = new Map("map.jpg"); switch(map.tiles[map.mapSize_x][map.mapSize_y]) { case 0: // Gras sx1=0; sy1=0; sx2=32; sy2=32; break; case 1: // Zaun sx1=0; sy1=32; sx2=32; sy2=64; break; case 2: // Pfähle sx1=0; sy1=64; sx2=32; sy2=96; break; case 3: // Nadelbaum sx1=0; sy1=64; sx2=32; sy2=96; break; case 4: // Fruchtbaum sx1=32; sy1=0; sx2=64; sy2=32; break; case 5: // Innere Ecke rechts Höhle sx1=32; sy1=32; sx2=64; sy2=64; break; case 6: // Innere Ecke links Höhle sx1=32; sy1=64; sx2=64; sy2=96; break; default: sx1=0; sy1=0; sx2=32; sy2=32; break; } } } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Laiminator1992« (24.04.2012, 10:37)
Zitat
Compiliere G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java mit Java-Compiler
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:19:28: error: cannot find symbol
render = new renderMap(sx1, sy1, sx2, sy2);
^
symbol: variable sx1
location: class Map
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:19:33: error: cannot find symbol
render = new renderMap(sx1, sy1, sx2, sy2);
^
symbol: variable sy1
location: class Map
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:19:38: error: cannot find symbol
render = new renderMap(sx1, sy1, sx2, sy2);
^
symbol: variable sx2
location: class Map
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:19:43: error: cannot find symbol
render = new renderMap(sx1, sy1, sx2, sy2);
^
symbol: variable sy2
location: class Map
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:33:53: error: cannot find symbol
g.drawImage(sprite, i, j, i+32, j+32, render.sx1, render.sy1, render.sx2, render.sy2, this);
^
symbol: variable sx1
location: variable render of type renderMap
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:33:65: error: cannot find symbol
g.drawImage(sprite, i, j, i+32, j+32, render.sx1, render.sy1, render.sx2, render.sy2, this);
^
symbol: variable sy1
location: variable render of type renderMap
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:33:77: error: cannot find symbol
g.drawImage(sprite, i, j, i+32, j+32, render.sx1, render.sy1, render.sx2, render.sy2, this);
^
symbol: variable sx2
location: variable render of type renderMap
G:\Ausbildung\3.Ausbildungsjahr\Schule\LF9-Java\Java Schulprojekt\Map.java:33:89: error: cannot find symbol
g.drawImage(sprite, i, j, i+32, j+32, render.sx1, render.sy1, render.sx2, render.sy2, this);
^
symbol: variable sy2
location: variable render of type renderMap
8 errors
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Laiminator1992« (24.04.2012, 12:34)
Werbeanzeige