Allegro



  • Will zwar nicht, aber ich muss als Moderator eure nette Unterhaltung ein paar Foren nach unten verschieben.

    Verschoben nach Grafikprogrammierung (Reason: Pixelgrafik und Grafiklibaries gehören ins Grafikforum).

    MfG SideWinder



  • Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Jetzt funktioniert das obige Beispiel, daraufhin hab ichs einen Freund geschickt, der konnte es aber nicht öffnen weil die allegro.dll gefehlt hat.
    Meine Frage nun, wie kann ich die allegro dll mitcompilen, oder soll ich die dll in die dat datei einbinden?



  • Viel einfacher, es reicht, wenn du die allegro.dll im Ordner der EXE mitlieferst.



  • ja, schon klar 😉
    aber bei einem anderen Spiel ist die dll auch nicht sichtbar im Ordner, die muss aber irgendwo sein.
    Nein, ist keine versteckte Datei.



  • wenn die nich im exe ordner is, dürfte die direkt im windows/system bzw. winnt/system32 (ka wie das bei xp heißt) sein...

    edit: oder es is static linked...

    mfg



  • sorry wenn ich nicht fähig bin Google zu benutzen, aber kann man 2 Bitmaps auf Kollision/Übereinstimmung prüfen oder muss ich das alles von hand machen ?
    MfG



  • allegro selbst bietet da imho keine funktion für, aber es gibt viele bibliotheken die das machen. ansonsten musstest alles von hand machen.



  • hmm, gibts wirklich keine andere Möglichkeit?, egal so würde ich das dann machen:
    Verbesserungsvorschläge sind willkommen! (Sorry für die Schlechte Quali, soll ja nur eine Skizze sein)
    http://mitglied.lycos.de/hrtcrew/abfrage.jpg
    Die schwarzen Objekte sind statisch und bewegen sich nicht, dh sie haben fixe Koordinaten. Das rote Objekt ist mein Auto, folglich bewegt es sich und hat variable Koordinaten.
    Wie beschrieben hat das schwarze Objekt eine l von 80 und eine b von 10.(Hausnummern 😉
    Ich zeichne jedes Objekt mit blit. (Eine genaue Erklärung wäre nett ;))
    blint geht ja von der rechten oberen Ecke aus, folglich nehme ich eine Hilfskoordinate und berechne mir den rechten Rand. Ich zeichne z.B. das Ojekt an Stelle 250,100. Um den rechten Rand zu ermitteln zähle ich zu die 250, 10 dazu.
    Um auch die Länge zu ermitteln zähle ich von den 100, 80 herab und erhalte folgende Koordinaten: 260, 100 u. 260, 20 -> diese Koordinaten (denke ich) sind wichig, und statisch. Nun zeichne ich mit blit mein Auto und merke mir dessen Koordinaten.

    So überprüfe ich nun mit einer If Abfrage auf Kollision:

    if ((carx==260)&&((cary<100)&&(cary>20)))
    {
    }
    

    in ähnlicher Form verfahre ich mit dem querstehenden Objekt.

    Ich hoffe ich hab das nicht allzu verwirrend geschrieben, möchte nur meinen Gedankengang sinvoll niedergeschrieben haben 🤡



  • Wenn keine allegro.dll gebraucht werden soll/wird so wurde das Programm statisch gelinkt. Die DLL-Daten befinden sich in der EXE-Datei.

    MfG


Anmelden zum Antworten