Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 05:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ Allegro Kollision

Discussion on C++ Allegro Kollision within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2008
Posts: 56
Received Thanks: 4
C++ Allegro Kollision

Hallo,
Ich habe angefangen ein Jump and Run Spiel mit der Allegro libary zu schreiben.
Bei jedem gutem Jump and Run sind natürlich kollision vorhanden. Bisher arbeite ich mit einer einfachen, aber umständlichen und leistungsfressende variante.
Er prüft nach jeden schritt, ob eine kollision vorhanden ist, auch wenn er meilen weit davon entfernt ist. Das sieht wie folgt aus:

Code:
x1= x von der Figur
y1= y von der Figur

x2= x von dem Stein
y2= y von dem Stein

int BildKollision(BITMAP* Figur,int x1, int y1, BITMAP* stein,int x2, int y2)
{
    if(x1>=(x2+stein->w) || y1>=(y2+stein->h) || x2>=(x1+Figur->w) || y2>=(y1+Figur->h)) return 0;
    else                return -1;
}

Nun wollte ich fragen, ob es eine bessere Variante gibt, um zu prüfen ob eine Kollision stattfindet. Aus einem Forum hab ich gelesen, dass man mit einem int array eine Map schreibt mit 0,1. Heisst 0 = nichts, 1= Stein.
Das würde dann so aussehen
( 1,0,0,0,0,1
1,0,0,0,1,1
1,0,0,1,1,1
1,1,1,1,1,1)

Wenn einer damit erfahrung hat, oder selbst schonmal ein Plattform game geschrieben hat, würde ich mich freuen, wenn er ein kleines beispiel hier reinschreibt.


Wenn es noch andere Varianten der kollision gibt, lasst es mich bitte wissen.

Mfg Proace
Proace is offline  
Old 09/30/2010, 23:33   #2
 
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
Es gibt Methoden von denen ich weiss, dass es sie geben müsste bzw. die du ausnutzen könntest, allerdings wirst du dafür sehr sehr tief in die unteren Abstraktionsebenen absteigen müssten (was Allegro sicherlich nicht mitmacht).
Die Idee mit dem Array basiert auf dem selben Prinzip wie das oben genannte, allerdings kann man das mit dem Renderen der Map verbinden, wo kleinere Geschwindigkeitsprobleme nicht weiter schlimm sind (solltest du die Map in Form von Datein speichern kannst du auch gleich mit diesem Format arbeiten). Folglich würde ich dir empfehlen es damit zu probieren .
Eine bessere Lösung die du so auch umsetzen kannst würde mir spontan nicht einfallen
.nAno is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Allegro mit dev C++ verbinden?!
03/22/2010 - C/C++ - 4 Replies
Ich hoffe hier kann mir jmd helfen ich habe den IDE Dev-C++ jetzt möchte ich gern Allegro damit iwie verbinden, das ich damit 2D Spiele programmieren kann. Leider weis ich icht was ich da von Allegro runterladen muss, und wie ich das dann verbinde. Hoffe ihr könnt mir helfn ach und auf der Website stand glaub ich n Tutorial aber der Link ist tot. Deshalb hat mir das auch nicht geholfen =( Hoffe das mir hier einer helfen kann.
Allegro mit C++ verwenden?
03/21/2010 - C/C++ - 5 Replies
Nach ner Stunde googeln hab ichs aufgegeben, ich hab noch nicht soviel Erfahrung in C++ nur son bisschen mit Konsolenanwendung hab mir des Tutorial von schornboeck n paar mal durchgelesen aber jetzt möchte ich parallell zu dem Tutorial auch noch sowas in die richtung Spieleprogrammierung machen mit Allegro und C++ jetzt hab ich wie oben gesagt ne STUNDE gegoogelt und fast nichts brauchbares gefunden, nur ne sehr gute Seite wo steht wie man Allegro und C verwendet. Aber nicht Allegro und C++.Und...



All times are GMT +2. The time now is 05:40.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.