Tog en liten paus med kodandet, men nu är jag igång igen.
just nu ser det ut såhär i map klassen:
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class map{
Image row1[];
Image row2[];
Image row3[];
Image row4[];
Image row5[];
public map(Image a, Image r){
row1 = new Image[] {a, a, a, a, a, a, a, a, a, a};
row2 = new Image[] {a ,a, a, a, a, a, a, a, r, a};
row3 = new Image[] {a, a, a, a, a, r, a, r, r, r};
row4 = new Image[] {a, a, a, a, r, r, r, r, r, r};
row5 = new Image[] {r, r, r, r, r, r, r, r, r, r};
}
}
Jag har fått den att rita ut bilder (a eller r) där man har placerat dem i arrayen, men problemet nu är att efter som jag bara har bilder kan jag inte fixa kollisioner.
Det jag hade tänkt mig är att fixa så att "a = air.getImage()" och "r = rock.getImage()". Men jag är lite osäker på hur det ska funka. Min lärare visade mig nåt där jag gjorde en ny klass "block", och sen fick arrayerna vara block[]... Men jag fattade inte så mycket av det, samt att filerna försvann så jag kan inte gå tillbaks och kolla.
Sen vet jag inte hur jag ska få ut x och y från varje "r". Jag behöver dem till kollisionerna.
Jag ska försöka lite själv men jag skriver det här nu så uppdaterar jag om jag kommer vidare någonstans.
Skrivet av hawy:
Du kan det här med klasser och så vidare? Isåfall är det bara att spara objekten i lämplig förvarare i banan.
Här är kod från ett gammalt spel jag gjorde i java
activeobj och staticobj är listor med objekt
public void Draw_gamestate(Graphics2D g,int offsetx,int offsety,int layer){
if(layer == 0){
g.drawImage(this.Get_background(), offsetx, offsety, null, null);
}
for (int i=0;i<activeobj.size();i++){
if(activeobj.get(i).getLayer() == layer){
activeobj.get(i).Draw_object(g,offsetx,offsety);
}
}
for (int i=0;i<staticobj.size();i++){
if(staticobj.get(i).getLayer() == layer){
staticobj.get(i).Draw_object(g,offsetx,offsety);
}
}
}
Jag förstod inte så mycket av det där Egentligen ska vi börja med klasser i C kursen, men jag har börjat lite tidigare (B kursen nu). Men vad menar du med "activeobj och staticobj är listor med objekt".
Tack
Edit:
Tror jag löste ena problemet.
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class map{
Image row1[];
Image row2[];
Image row3[];
Image row4[];
Image row5[];
Image a, r;
air air;
rock rock;
public map(Image airImg, Image rockImg){
air = new air();
rock = new rock();
a = air.getImage(airImg);
r = air.getImage(rockImg);
row1 = new Image[] {a, a, a, a, a, a, a, a, a, a};
row2 = new Image[] {a ,a, a, a, a, a, a, a, r, a};
row3 = new Image[] {a, a, a, a, a, r, a, r, r, r};
row4 = new Image[] {a, a, a, a, r, r, r, r, r, r};
row5 = new Image[] {r, r, r, r, r, r, r, r, r, r};
}
Nu tar den bilden från air och rock klasserna och lägger in i arrayen. Men jag behöver fortfarande få ut x och y värdena för varje objekt.