Seite 1 von 1

Enumeration = Syntax Error ??

Verfasst: 15.05.2006 18:22
von Ghost
hi

Ich habe grad angefangen ein neues Spiel zu Programieren.
Aber irgendwie will die Enumeration nicht bei mir.
Wenn ich das Programm starten will makiert er mir Enumeration und gibt mir die Nachricht Syntax Error.

Code: Alles auswählen


InitMovie()
InitSprite()
InitKeyboard()
InitMouse()
InitSound()

OpenScreen(800,600,32,"s")

Global playerX.1   
Global playerY.1 

Enumeration
#Sprite_Player 
Endenumeration

PlayerX = 300
PlayerY= 300


 LoadSprite(#Sprite_Player,  "..\Bilder\player")




Repeat 
ExamineMouse()
 ExamineKeyboard()
 
DisplayTransparentSprite(#Sprite_Player, playerX, playerY)

Until KeyboardPushed(1):End

Könnt ihr mir bitte helfen?

Verfasst: 15.05.2006 18:26
von Karl
Keine Probleme bei mir. Ansonsten nimmste:

Code: Alles auswählen

#Sprite_Player = 0
K.

Verfasst: 15.05.2006 18:43
von Ghost
Ok danke funktioniert jetzt.

Verfasst: 16.05.2006 09:36
von Kaeru Gaman
mal was grundsätzliches:

ich rate davon ab, für spritenummern Enum zu verwenden.

Enum ist bestens geeignet für Fenster und Gadgets,
aber für sprites in einem game solltest du bewusst bestimmte nummernkreise verwenden.

das hängt damit zusammen, wie man sie nachher benutzt.

oft ist es praktischer die aktuelle spritenummer beim anzeigen zu berechnen,
als 37 Ifs einzusetzen um 37 Displaybefehle mit individuellen Spritenummer-Konstanten auszuwählen.

außerdem gab es hier im forum schon oft fragen, was bei den sprites nicht stimmt,
und das kernproblem war, dass der progger aufgrund eines Enums keinen überblick hatte, welches Sprite welche nummer hat.

Verfasst: 18.05.2006 15:10
von Ghost
Also ich wollte einen kleine Weltraumshoter basteln und habe mir ein Tutorial dazu durchgelesen. Im turtorial wurde es mit einen enum gemacht ( also die sprites). Daher dachte ich dass es wichtig ist ein enum zu verwenden.(binn halt noch Anfänger)
(Genauer gesagt dachte ich es sei wichtig wenn man zB. nacher mehrere gener gleichzeitig haben will.Hab aber ebben die Codezeile hier im turtorial gefunden)

Code: Alles auswählen

If enemyDelay = 0
  AddEnemy(800, Random(560), -2, 0, 100) 
  enemyDelay = enemySetDelay
Else
  enemyDelay - 1
EndIf


naja ich versuchs erstmal ohne enum

Ähm wie meinst du das mit "nummernkreise"?

Verfasst: 19.05.2006 08:29
von Karl
Buchhaltertypen. Nummernkreise sind bestimmte Bereiche von Nummern halt, die für bestimmte Belege vorgesehen sind. In deinem Fall also für Objekttypen, z. B. 400 - 499 sind Zwerge, 500 - 599 sind Trolle etc. Du erkennst an der führenden Ziffer den Objekttypen.

Gruß Karl

Verfasst: 19.05.2006 18:04
von Ghost
achso.

Danke