Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - amarliani

#16
Rechtlich definitiv NEIN. Völlig illegal. Du brauchst lt Kleinweich-Lizenzbedingungen für jeden Rechner eine eigene Lizenz. Auch wenns die Aktivierung trotzdem auf beiden Rechner klappt...
#17
GLBasic - de / Re: Palm?
2009-Nov-22
OK, gutes Argument. Ich würd mich ja mit meinem Plam als Tester anbieten, aber das hilft wohl nix, oder? Egal, ist wie gesagt auch nicht wirklich wichtig. Ich programmier halt lieber in GLB, aber mit dem SDK von Palm gehts auch. Nur Spiele sind da lästig zu erstellen...
#18
GLBasic - de / Re: Palm?
2009-Nov-21
Hi Trudicare,

Quotea) benötigen wir dazu ein gerät mit palm os

Nicht wirklich. Das SDK, das Palm verschenkt, läuft unter Windows (setzt auf Eclipse auf), und dabei ist ein kompletter Emulator für den Palm - geht also auch ohne das Gerät selber.

Quoteb) ist lizenztechnisch bestimmt irgendwo ein haken

Konnt ich bisher noch nicht finden. Wenn, dann haben die den sehr gut versteckt.

Quotec) nachfrage eher gering.

Das könnte wohl so sein... :( Na ja, war nur ne Idee.
#19
GLBasic - de / Palm?
2009-Nov-21
Ne Frage am Rande mal: Gibt es ne Chance, dass GLB mal PalmOS als Plattform unterstützen würde? Das Original SDK für den Palm verschenken die ja problemlos gegen Angabe der Email, scheinbar gibts von der Seite keine Blockaden. Wär ganz nett ...
#20
Also, wenn ich richtig begriffen hab, was du möchtest, ist der Fehler glaub ich hier:

Code (glbasic) Select
MOUSESTATE mx, my, b1, b2

//hier fängst du die Maustasten-Schleife an
IF b1
LOCAL shot AS SHOT
shot.ammo=50
//und erzeugst erst mal nen neuen shot
DIMPUSH shots[], shot
ENDIF
//hier ist die Schleife zu Ende

//und hier werden dann AUSSERHALB der Maustasten-Schleife die ammos runtergezählt!
//Dieser Teil wird im Programm immer erreicht, auch ohne Mausklick!
FOREACH shot IN shots[]
shot.ammo=shot.ammo-1
PRINT shot.ammo, 200, 200
NEXT


Wenn ich deinen Code richtig begriffen habe, dann müßte das Ganze eher so aussehen:

Code (glbasic) Select
MOUSESTATE mx, my, b1, b2

IF b1
   LOCAL shot AS SHOT
   shot.ammo=50
   DIMPUSH shots[], shot

   FOREACH shot IN shots[]
      DEC shot.ammo, 1
      PRINT shot.ammo, 200, 200
   NEXT[
ENDIF


Das Problem ist nur, dass du mit deinem Code nicht nur bei jedem Mausklick eine ammo runterzählst, sondern gleichzeitig auch noch einen neuen shot erzeugst. Ist das so gewünscht? Denn die ammo-Variable wird ja jedesmal an exakt der gleichen Stelle ausgegegeb, und so schnell, wie das passiert, siehst du eh immer nur die Angabe für den letzten shot.
#21
Nice work, Gernot! I'd prefer Dr. Shiver as a name for it.
#22
Hallo und willkommen erst mal!

Also, ich nehm mal an, dein Code ist an sich ok. Lesen kann ich ihn n?mlich auf dem Bild fast nicht... w?r sch?n, wenn du Code bei Fragen wirklich als Text hier einstellen w?rdest, das l??t sich entschieden leichter lesen. Aber wie gesagt, was ich lesen kann, scheint ok zu sein.
Ich w?rd auf folgenden Fehler tippen: GLB erstellt bein Compilieren ein neues Verzeichnis unterhalb des Verzeichnisses mit deinem Quelltext drin, und zwar mit nem Namen wie MeinTest.app. In dieses Verzeichnis rein kommt die .exe, und dort wird sie auch aus der IDE heraus gestartet. Und nun denk ich mal, deine Grafiken liegen schlicht in deinem urspr?nglichen Verzeichnis und nicht in diesem neuen .app-Verzeichnis. Da m?ssen sie aber sein, sonst k?nnen sie nicht geladen werden.

Kopier mal deine Grafiken in dieses .app-Verzeichnis und starte den Test noch mal, dann sollte es gehen.
#23
AFAIK yes, inline commands need full license.
#24
Du hast da einen kleinen Denkfehler in deinen Routinen, die deine Figuren bewegen. Ich beschr?nk das mal auf die wichtigen Zeilen:

...
Player_y = Player_y+1   //Hier bewegst du deinen Held jeweils um 1px nach unten

....

IF gricht = 1
Gegner_y = Gegner_y + 3  //Dein Skelett bewegst du aber hier um 3px nach unten..
ENDIF

IF gricht = 2
Gegner_y = Gegner_y - 3  //und hier um 3px nach oben!!
ENDIF

Setz entweder bei Gegner_y auch eine 1 statt einer 3 oder bei Player_y eine 3 statt einer 1, dann m??ten die beiden gleich schnell sein.
#26
Gruezi in die Schweiz!

Dann versuch ich mal, dir das etwas aufzudr?seln:

Code (glbasic) Select
IF timer < GETTIMERALL()
    INC Anim, 1               
    IF Anim > Last_Anim_Image THEN Anim = 0
    timer = GETTIMERALL()+verzoegerung
ENDIF

DRAWANIM num, Anim, Player_x, Player_y


OK, der Trick ist folgender:

In der Variable timer speicherst du einen Zeitwert, und zwar die Zeit, zu der das letzte Mal die Z?hlervariable von DRAWANIM erh?ht wurde, plus der vor dir vorgegebenen Verz?gerung in Millisekunden (das ist die Zeile timer = GETTIMERALL()+verzoegerung).
Sobald jetzt die aktuelle Spielzeit diesen Zeitwert ?berschreitet (das macht dann der Vergleich IF timer < GETTIMERALL() !), wird der Z?hler erh?ht und die timer-Variable auf den aktuellen Zeitwert plus Verz?gerung gesetzt.

Und dann malst du halt au?erhalb der Zeitabfrage mit DRAWANIM das entsprechende Teilbild, das dir deine Z?hlervariable vorgibt. Das wars.

Ach ja, und in deinem Code ist ein kleiner Fehler:

Code (glbasic) Select
DRAWANIM 1, 0, Player_x, Player_y

Mit der Zeile malst du die Animation ganz normal, nicht aber gezielt das eine Teilbild der Animation, so wie es hier f?r den Code n?tig w?r. Die Zeile m??te so lauten, sonst funzt es nicht:

DRAWANIM 1, Anim, Player_x, Player_y

Und
Code (glbasic) Select
Last_Anim_Image=1
? Hast du wirklich nur zwei Teilframes in deiner Animation?
#27
Ich hab keinen Fehler finden k?nnen, und es l?uft immer noch nicht...  :'( Hab einen anderen Weg genommen: Ich schreib mir eine Batch-Datei mit dem zu startenden Programm und Commandline-Args f?r die R?ckkehr zu meinem Startprogramm und ruf die dann mit SHELLEND auf. So klappts immerhin. Aber kann ich irgendwie die Anzeige der Command-Line-Fenster zwischen den Programmstarts unterdr?cken?
#28
Hatt ich auch schon probiert, hilft nix. Auch Spielereien mit AUTOPAUSE helfen nicht. Es scheint so, als wenn das aufgerufene Programm zwar gestartet wird, aber nie den Focus bekommt. Wenn ich ?ber den Taskmanager das Startmen? kille, l?uft dahinter dann ganz normal das aufgerufene Spiel. Wenn nicht vorher alles komplett h?ngengeblieben ist. Noch irgend eine Idee? Was genau macht SHELLCMD eigentlich?
#29
Ich hab zur Abwechslung mal wieder ein Brett vorm Kopf.

Folgendes Problem: Ich hab ein Startmen? f?r ein paar Spiele geschrieben. Meine Maschinen laufen alle auf Win XP. Die Spiele starte ich mit diesem Code:

Code (glbasic) Select
SETCURRENTDIR(verzeichnis$)
ok = SHELLCMD(exe$, TRUE, TRUE, rv)
SETCURRENTDIR("..")


verzeichnis$ enth?lt z.B. "./NimmDrei", exe$ enth?lt z.B. "NimmDrei.exe".

wobei jedes Spiel in einem eigenen Unterverzeichnis des Startmen?-Verzeichnisses liegt. Auf meinem Entwicklungsrechner klappt auch alles wunnebar. Sobald ich das aber auf den anderen Rechner (Win XP Home, 512MB) ?bertrage, geht nix mehr. Ich seh am Taskmanager zwar, dass das Spiel dort als Task gelistet ist, aber weder wird das Startmen? ausgeblendet noch wird das Spiel eingeblendet, sondern alles bleibt h?ngen, oft sogar so gr?ndlich, dass nur ein Neustart des Rechners hilft. Starte ich das Spiel manuell ohne das Startmen?, dann l?uft es auch auf dem anderen Rechner. Nur eben der Aufruf aus dem Starter heraus geht nicht.

Hat irgendwer eine Idee, was da h?ngen k?nnte?
#30
Irgend was ist da ganz seltsam mit meinem Code/Rechner/Kopf...  :'( Wenn ich die Reihenfolge der einzulesenden Dateien k?nstlich ver?ndere, indem ich sie umbenenne, dann klappts auch bei mir. Der Haken ist also wohl irgend wo bei mir. Seltsam nur, dass es vorher ging...
Danke f?rs Dr?bergucken!