draw_sprite Error

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • draw_sprite Error

    Hallo zusammen
    Ich arbeite mich gerade durch den Game Maker Companion.In Chapter 11 bzw. 12 bin ich auf folgendes Problem gestoßen-
    Wie im Buch beschrieben versuche ich das Spiel 'Shadows on Deck' zu starten.Allerdings taucht sofort folgende Fehlermeldung auf:

    ERROR in
    action number 1
    of Draw Event
    for object obj_flynn:

    Error in code at line 38:
    draw_sprite_ext( sprite_index, image_index, x, y, 1, 1, 0,,
    c_black, 1 );

    at position 6: This function is only available in the Pro Edition.

    Im Kontext des Buches steht allerdings nichts davon, dass man hierfür die Pro Edition braucht.Ich bin mir sicher, dass dieses Problem schon häufiger aufgetreten ist.Hab allerdings nach einiger Suche immer noch nichts passendes gefunden.
    Meine Frage ist eigentlich auch folgende:Kann man die Zeile irgendwie umschreiben, sodass der Sprite dargestellt wird?Oder braucht man wirklich die Pro Edition hierfür?

    Habt vielen Dank für die Untestützung
    [neogeo] :)
  • Danke erstmal für die Antwort....leider hat es mit dem 'c_white' auch nicht funktioniert :(
    Kann das Problem evtl auch mit dem Befehl 'draw_sprite_ext' an sich zusammen hängen-da ja auch die Fehlermeldung 'at position 6' angegeben wird!?
    Oder halt doch die Attribute Werte?
    Ich danke weiterhin und wünsche noch einen angenehmen Feierabend.
    [neogeo]
  • Larsi schrieb:

    ja, du musst c_white angeben und nicht c_black, [...]

    Falsch. Auch der normalste Normalfall dieser Funktion,

    GML-Quellcode

    1. draw_sprite_ext(sprite_index,image_index,x,y,1,1,c_white,0,1);
    , der exakt draw_sprite entspricht, ist in der Lite-Version verboten. Der ganze Aufruf der Funktion "draw_sprite_ext" ist schlicht und einfach nicht erlaubt - egal, was du da für Parameter angibst; die werden nicht mal mehr ausgewertet.
    Die einzige Sprite-Zeichenfunktion, die GM7 Light erlaubt, ist draw_sprite. Da fallen dann alle Parameter nach y weg und das Sprite wird immer mit Skalierung 1:1, blend c_white, Winkel 0° und Alphawert 1.0 gezeichnet.
    Du müsstest also den Aufruf von draw_sprite_ext mit c_black als Image Blend darüber simulieren, dass du dem Sprite noch ein zusätzliches Sub-Image verpasst, das immer noch das selbe Bild darstellt, aber bei dem jeder nicht transparente Pixel komplett schwarz ist, und dann einfach draw_sprite den Image Index dieses Bildes übergeben (das ist der 2. Parameter in der Funktion).
    Ansonsten solltest du eine aktuellere GM-Version benutzen - wenn ich mich richtig erinnere, wurden einige der Restriktionen auf draw_sprite_ext aufgehoben. Und zumindest von GM Studio weiß ich auf jeden Fall, dass auch die kostenlose Version das inzwischen erlaubt, weil da ja kürzlich dieses krasse Update mit
    #define Standard Lite;
    kam. ^^