collision mit images und pixelgrabber

Status
Nicht offen für weitere Antworten.

DarKestSun

Mitglied
wiedermal ein jumpn run problem...

mein spiel läuft jetz mal einigermaßen, netzwerk is eingebaut und eigentlich gehts in den endspurt.

ein problem hab ich allerdings noch:
ich arbeite mit einem pixelGrabber der sich die einzelnen pixel der map holt, mit denen ich die collision steuere.
dazu benutze ich ein 2dimensionale array [x][y]

wer den pixelgrabber kennt, weiß, dass er ein 1dimensionales array braucht, nämlich [x*y]. bei einer 2000*600 pixel großen map hört der spaß aber auf, weil das array nich so viel speichern kann.

ich dachte, ich lege für eine 6000*600 pixel map 3 wie oben genannte arrays an und speichere sie in einem vector. allerdings scheint das nicht zu funzen.

wenn wer bessere ideen oder eine lösung für mein problem hat, bitte posten.
ich beantworte alle fragen und bin für jede antwort dankbar!!!
 

Hansdampf

Bekanntes Mitglied
kannst du nicht einfach sowas machen:
Code:
int[][]map=new int[6000][600]

updatemap(){

for(int i=0;i<3;i++){
int xpos=i*2000;
int[][] gibsmir=grabpixel_von(image,xpos,0,xpos+2000,600);

for(y<600)
for(x<2000)
map[x+xpos][y]=gibsmir[x][y]; 
}
}

versteh ich was falsch?
 
G

Guest

Gast
die frage war eher obs nich was besseres gibt, das mit 3 arrays im speicher is nämlich schlecht wenn die map groß is
 
A

Ausserirdischer

Gast
Berechnest Du die Kollisionen anhand der Pixel? Oder verstehe ich da was falsch?
 
G

Guest

Gast
ab einer bestimmten größe der map (2400 pixel in der breite) wird das array zu klein, der heap wird voll
aber nur weil der pixelgrabber ein array mit [width*height] - göße braucht, also 2400*600

splitte ich nun ein großes array (z.b 6000 pixel) auf 3 arrays mit 2000 pixel auf, dann funzt alles wieder
weil das pixelgrabber-array für jetz nur 2000*600 groß is, nach dem grabben wird es eh gelöscht und der heap wird wieder frei.

die frage is jetz ob es nich was besseres gäbe als dieses system, die collision arbeitet mit jedem pixel der map, is also sehr genau und daher leider auch aufwändig
 

Hansdampf

Bekanntes Mitglied
1) mehr Speicher reservieren? -Xmx200m
2) den Code von mir oben ausprobiert? der liefert doch ein einziges Array und verlang vom Pixelgrapper nur kleinre Happen
3) statt Pixelgrabber BufferedImage benutzen und sich daraus die int[]s holen.

versteh das mit dem Speicherproblem nicht, ich hab spaßeshalber schon int[5000*5000] als Map gemacht (aber dann mit -xmx)
 
G

Guest

Gast
:shock:
ja supa als anfänger is man mal wieda der dumme

hab gar net gewusst das ma da mehr platz im heap (oda stack oda sunst was) reservieren kann
des is natürlich praktisch
 

Reality

Top Contributor
Eigentlich gibt es da eine super einfache Möglichkeit, die Java schon mitliefert:

Die Klasse Rectangle bietet da die Methode intersects.

Liebe Grüße
Reality
 
H

heisser Tipp

Gast
Reality hat gesagt.:
Eigentlich gibt es da eine super einfache Möglichkeit, die Java schon mitliefert:

Die Klasse Rectangle bietet da die Methode intersects.

Liebe Grüße
Reality
Genau! Nimm jedes Pixel, und lege ein Rectangle drumrum. Dann kannst Du mit intersects() auf Kollisionen prüfen. :roll:
 

SBehnen27

Aktives Mitglied
Reality hat gesagt.:
Eigentlich gibt es da eine super einfache Möglichkeit, die Java schon mitliefert:

Die Klasse Rectangle bietet da die Methode intersects.

Liebe Grüße
Reality

das interessiert mich aber jetzt mal ;)
kannst du da vll. ein zwei sätze zu sagen?

ich hätte da nämlich ggf. ne anwendung für.
brauche ne vernünftige kolli abfrage von 2 flugzeugen.
das sind halt 60x60 grosse bilder mit transparentem HG und in der mitte is ein flieger drauf...

isses möglich mit dem intersects nur auf die gemalten bereiche zu reagieren und die transparenten stellen zu ignorieren?
 

Reality

Top Contributor
SBehnen27 hat gesagt.:
isses möglich mit dem intersects nur auf die gemalten bereiche zu reagieren und die transparenten stellen zu ignorieren?
Nein, leider nicht. Rectangle ist ja ein Rechteck das schließt alles ein.

LG
Reality
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Collision Detection in einem 2D Sandbox Game. Spiele- und Multimedia-Programmierung 2
T PacMan - Collision Spiele- und Multimedia-Programmierung 2
D Physik Engine und Collision Spiele- und Multimedia-Programmierung 5
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
Bananabert Collision Grid Spiele- und Multimedia-Programmierung 10
T LWJGL 3D Objekt Collision: Wie? Spiele- und Multimedia-Programmierung 11
S Collision Detection bei Tile Map Spiele- und Multimedia-Programmierung 17
W Collision Detection/Prevention bei Drag & Drop Spiele- und Multimedia-Programmierung 23
M pixel perfect collision detection bei rotierenden Bildern Spiele- und Multimedia-Programmierung 13
E Bounding Box Collision/intersection aber wie? Spiele- und Multimedia-Programmierung 10
T Collision mit Bildern Spiele- und Multimedia-Programmierung 3
D Collision Spiele- und Multimedia-Programmierung 3
K Video aus JavaFX Images generieren Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
J Images laden in static Methode Spiele- und Multimedia-Programmierung 8
F ressourcensparendes Anlegen von Images Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Suche Schach Images Spiele- und Multimedia-Programmierung 5
radiac Netbeans Build Project... keine Images dabei??? Spiele- und Multimedia-Programmierung 9
J Rotieren eines 2D Images endet in Java heap space Error Spiele- und Multimedia-Programmierung 15
E Tetris mit Images anstatt gezeichneten Rechtecken Spiele- und Multimedia-Programmierung 4
M Images/Sounds für Spiele Spiele- und Multimedia-Programmierung 3
S Images verzerren Spiele- und Multimedia-Programmierung 2
S Einzelpunkte bei Images Spiele- und Multimedia-Programmierung 2
C Images kolorieren und einfaden Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben