bin noch totaler java-noob und wir müssen in der Schule jetzt ein Jump n Run programmieren.
Wills dann so machen, dass der charakter sich nicht beweget sondern im Prinzip nur der Hintergrund, allerdings fehlt mir hierbei total der ansatz. Bisher hab ichs nur, dass ich ne Figur bewegen kann aber dann läuft sie halt zum bild raus.
Jump 'n Runs sind eigentlich nichts für Noobs
Wenn Du noch nie ein Spiel programmiert hast, würde ich das mit dem bewegten Hintergrund erst mal lassen. Das schafft Dir nämlich ein paar zusätzliche Probleme, zu den anderen, die Dir dann auch noch über den Weg laufen.
Ich würde Dir raten, für den ersten Versuch eher über ein Konzept nachzudenken, bei dem Du mit einem Bildschirm auskommst.
Ein paar Beispiele, von denen Du Ideen klauen könntest:
Wobei jedes der o.g. Spiele zugegebenermaßen auch so seine Schwierigkeiten hat, die für einen Anfänger nicht unbedingt einfach zu lösen sind. Es sollen hier erst mal nur Beispiele für "1-Bildschirm-Spiele" sein (ich zähl' da auch mal H.E.R.O mit rein, wobei man da ja mehrere Screens braucht).
Eine einfache Version von SpaceTaxi ist für jemanden, der noch nie ein Spiel programmiert hat, wohl noch eine lösbare Aufgabe.
heyho vielen dank schonmal für eure posts, hatte bisher noch keine zeit mir das alles genauer anzuschauen, werd ich dann wohl aber mal heute machen.
Naja wir haben in der Schule letztes Jahr schon ein 4gewinnt programmiert... aber naja hab damals viel kopiert un kaum was selber gemacht, hole halt grad alles nach und naja wir müssen dieses Jahr halt n jump n run programmieren..aber evtl mach ich trotzdem erst noch son anderes game um mir die Grundideen klar zu machen etc...
Ein relativ einfaches Spiel, das nur den Bildschirm als Platz braucht, wäre auch noch Space Invaders. Das hab ich programmiert bevor ich mir ein Tutorial durchgelesen hatte (weil ich sehen wollte, ob ichs auch alleine schaffe). Hat ungefähr 4 Stunden gedauert (ohne schöne Grafiken)...
Wenn allerdings so gut wie kein Grundwissen vorhanden sein sollte, dann wäre das ja schon geeignet, um erstmal so Sachen wie GameLoop, Sprites und Kollisionserkennung kennen zu lernen. Ein bisschen einfach ists natürlich schon mit ner Bewegung in zwei Richtungen, ohne Map und Hindernisse :wink:
Ein relativ einfaches Spiel, das nur den Bildschirm als Platz braucht, wäre auch noch Space Invaders. Das hab ich programmiert bevor ich mir ein Tutorial durchgelesen hatte
so hab mich ma dran gemacht n space invaders zu programmieren, wills aber auf andere art lösen als in z.b. dem deutschen tut da oben. und zwar hab ich jetzt aber folgendes problem, dass ich nicht weiß, wie ich ein pic als hintergrund hinbekomme...
habe es bisher so bzgl des hintergrundes
Code:
public MeinPanel() {
initComponents();
this.requestFocus();
try {
File f = new File("pic/Schiff.jpg");
bim =ImageIO.read(f);
} catch (IOException ex) {
ex.printStackTrace();
}
try {
File hintergrund = new File ("pic/background.jpg");
background=ImageIO.read(hintergrund);
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void paintComponent(Graphics g){
g.drawImage(background,x,y, null);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(c.WHITE);
g.drawImage(bim,x,y,null);
}
hab dann aber nur das schiff auf nem grauen hintergrund...wo liegt mein fehler?
(Das habe ich jetzt gerade aus dem Kopf hingeschrieben - ist hoffentlich kein Fehler drin. Wenn doch, mal in die API gucken).
Zusätzlich fällt mir auf, daß Dein "Schiff" ein jpg ist. Du solltest hier ein Format verwenden, welches Transparenz kennt, z. B. GIF's, sonst bewegen sich Figuren mit einem farbigen Rechteck über Deinen Hintergrund.
Bzw. sieht es sehr unschön aus, wenn mal 2 Objekte knapp an einander vorbeifliegen, dann wird das eine das andere teilweise überdecken.
und mit was für einem programm mach ich das mit der bilder transparenz, damit der hässliche rand weg geht? mit paint geht das ja wohl nicht, habs probiert, nur weils gif ist funktionierts noch nich...?!
du meinst so einen weißen Runde, rund um das Objekt?
Das hatten ein Kumpel und ich auch. In Paint.NET kanns helfen beim Speichern den Transparenzschwellenwert sehr hoch zu setzen. Beim Zeichnen von Linien & co benutzen einige Programme rund herum so halbtransparente Pixel, die werden in gif dann entweder komplett transparent oder halt komplett weiß, daher ein Rand...
Edit: Paint.NET is auch umsonst, einfach auf chip.de mal danach suchen :wink: Für einen Windowsuser kaum gewöhnungbedürftig :wink: