Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Allegro - Polygonproblem

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Martin



Anmeldungsdatum: 05.06.2007
Beiträge: 19

BeitragVerfasst am: 05.06.2007, 17:46    Titel: Allegro - Polygonproblem Antworten mit Zitat

Hallo Leute,
Bin gerade dabei ein Spiel mit Allegro zu erstellen. Das klappt auch ganz gut. Allerdings hab ich ein Problem mit dem Befehl Polygon.
Und zwar folgendes:

Der Allegro Dokumentation zufolge soll ich ein Array an die Funktion übergeben.

Code:
 

int points[12] = { 50, 50,   100, 100,  100, 150,
                      50, 200,  0,   150,  0,   100 };

clear_to_color(screen, makecol(255, 255, 255));
polygon(screen, 6, points, makecol(0, 0, 0));



in der Allegro.bi ist in der Deklaration jedoch einfach BYAL Wert AS INTEGER angegeben. Und genau so verhält sich die Funktion auch. Mit einer einzigen Zahl lässt sich aber schlecht ein Polygon erzeugen traurig
Diesem Umstand entsprechend stürzt das Programm ab, wenn ich einen INTEGER Wert übergebe, Bei einem Array kommt die Fehlermeldung, dass ein Index angegeben werden muss. MAch ich dies, wird ja wieder nur ein Wert übergeben, und das Programm stürzt wieder ab. Compiliert bekomm ich es.

Hab auch schon versucht ein Klammerpaar an den Wert in der Allegro.bi anzuhängen. Hat aber auch nicht funktioniert. Hat irgend jemand eine Idee???
Auch einen Zeiger auf das Array hab ich schon probiert. Ging auch nicht

Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.06.2007, 20:17    Titel: Antworten mit Zitat

hmm, eigentlich wollte ich auch schon zu diesem Punkt eine Antwort schreiben..
(Ich habe allerdings noch nie mit Allegro.Bi gearbeitet, vllt deshalb)
Wie kriegt ihr die verdammte Lib denn eingebunden?
Ich habe extra FB0.17f neu installiert(mit allen Extras) und mir von SF die alleg42.dll besorgt(und nach %SysDir% kopiert..)
Es klappt einfach nicht..
..was macht ihr alle besser als ich? grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 05.06.2007, 20:20    Titel: Antworten mit Zitat

Also ich kopier mir das FB-DLL-Pack ins System32, und dann gehts durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 05.06.2007, 20:50    Titel: Antworten mit Zitat

Hi ytwinky,
schau mal unter ..\inc\allegro\base.bi
Code:
...
#define ALLEGRO_VERSION 4
#define ALLEGRO_SUB_VERSION 0
#define ALLEGRO_WIP_VERSION 3
#define ALLEGRO_VERSION_STR "4.0.3"
#define ALLEGRO_DATE_STR "2003"
#define ALLEGRO_DATE 20030419
...
für die alleg42.dll ist auch FB018CVS noch nicht bereit verwundert
Stand irgendwo auch im engl. Forum .... ?

Aber wenn PMedia das nur durch umkopieren ins Verzeichnis System32 schaft, kann es daran ja nicht liegen lachen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.06.2007, 21:22    Titel: Antworten mit Zitat

Hi volta,
..wie gesagt, wollte ich eigentlich mal hier was probieren,
der Kompiler meldet jedoch beharrlich, daß er die Einsprungadresse für alleg42.dll nicht findet, da ich die nicht hatte, hab ich sie mir besorgt, allerdings löste das die Probleme nicht. Als nun Martin sein Problem schilderte, dachte ich, jetzt isses genuch, da fragste einfach mal nach..
..also Del %SystemDir%\alleg42.dll (und die beiden anderen auch)..
..weils besser ist grinsen
Danke für den Tipp
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin



Anmeldungsdatum: 05.06.2007
Beiträge: 19

BeitragVerfasst am: 06.06.2007, 12:24    Titel: Allegro einbinden. Antworten mit Zitat

Unter Windows hab ich einfach die dll in den Ordner, in dem sich das Spiel befindet, kopiert. Hat wunderbar funktioniert. Unter Ubuntu-Linux hab ich es auch zum laufen gebracht. Allegro- und Entwicklerpakete über die Paketverwaltung installiert und einen link mit dem Namen allegro.os in im usr/lib/ Verzeichnis angelegt. Die Bibliothek ist dort mit einer angehängten Versionsnummer vorzufinden, weshalb FreeBASIC die Bibliothek ohne den Link nicht findet.
Aber zurück zum eursprünglichen Thema. Ist das ein Fehler mit dem Polygon, oder muss man da irgendeinen Trick anwenden. Hat keiner eine Antwort. verwundert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin



Anmeldungsdatum: 05.06.2007
Beiträge: 19

BeitragVerfasst am: 06.06.2007, 12:32    Titel: Fehlende Funktionen Antworten mit Zitat

Leider sind ein Paar funktionen der Allegro Bibliothek nicht in der Allegro.bi zu finden. Zwar kann man Text ausgeben, aber die Funktionen um eine eigene Schrift zu laden sind nicht vorhanden. Sehr Schade. Vielleicht hat sich das mit der neuen 0.17b Version geändert. Hab es noch nicht ausprobiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 06.06.2007, 19:28    Titel: Antworten mit Zitat

Nein,
der Auszug aus der base.bi (oben) ist aus einer neusten Version.
Im Moment scheint es so, dass nur Funktionen bis Allegro 4.03 in den bi's definiert sind.

Zu deinem Problem habe ich zwar keine Lösung aber wie dir selbst schon aufgefallen ist müssen die 'points' eine andere Dimensionierung als Integer haben. Vermutlich irgendwie als 2D- oder 3D-Vektor.
Dann wird bei z.B. 2D-Vektor das ~ so aussehen
Code:
2DVector points[6] = { {50, 50},   {100, 100},  {100, 150},
                       {50, 200},  {0,   150},  {0,   100} }
ohne Gewähr !!!!!
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz