Slettet bruger
16. juni 2006 - 17:04
Der er
10 kommentarer og 1 løsning
Problem med klassedefinition
Hej eksperter! Hvad er der galt med denne klassedefinition? [Stickman.as] // Stickman (Class; MovieClip) class Stickman:MovieClip { // Type (String; 'player', 'ally', 'enemy') private var type:String; // Graphics (String; Path) private var graphics:String; // Constructor (type, graphics, x, y) function Stickman(newType:String, newGraphics:String, newX:Number, newY:Number) { this.type = newType; this.graphics = newGraphics; this._x = newX; this._y = newY; } } [enFil.fla] #include "Stickman.as" [Outut] **Error** C:\enSti\Stickman.as: Line 2: Classes may only be defined in external ActionScript 2.0 class scripts. class Stickman:MovieClip **Error** C:\enSti\Stickman.as: Line 5: Attribute used outside class. private var type:String; **Error** C:\enSti\Stickman.as: Line 8: Attribute used outside class. private var graphics:String; Total ActionScript Errors: 3 Reported Errors: 3 Håber at få hjælp hurtigst muligt ;)
Annonceindlæg fra Lenovo
Du angiver MovieClip som en returtype for din klasse, men klasser returnerer ikke andet end en reference til et instans af klassen. Du mener sikkert: class Stickman extends MovieClip mvh mat
Slettet bruger
16. juni 2006 - 19:43
#2
Hmm... Hvad betyder extends? I dette tilfælde at klassen "udvides" til et MC?
Slettet bruger
16. juni 2006 - 19:44
#3
// Stickman (Class; MovieClip) class Stickman extends MovieClip { // Type (String; 'player', 'ally', 'enemy') private var type:String; // Graphics (String; Path) private var graphics:String; // Constructor (type, graphics, x, y) function Stickman(newType:String, newGraphics:String, newX:Number, newY:Number) { this.type = newType; this.graphics = newGraphics; this._x = newX; this._y = newY; } } giver **Error** C:\Documents and Settings\Toke\Desktop\project_stick\Stickman.as: Line 2: Classes may only be defined in external ActionScript 2.0 class scripts. class Stickman extends MovieClip Total ActionScript Errors: 1 Reported Errors: 1
extends betyder at din klasse (Stickman) er nedarvet fra MovieClip klassen. Og klasser ligger i eksterne .as filer, så du skal ikke skrive dem i en flash film.
Slettet bruger
16. juni 2006 - 20:22
#5
Aahhh... Men hvorfor kommer den anden fejl? (Se min sidste kommentar)
Den kommer ikke med fejl her, jeg har lige testet. Hvordan bruger du klassen?
Slettet bruger
16. juni 2006 - 20:49
#7
Det gør jeg ikke. Jeg inkluderer bare klassen i et dokument.
Du skal ikke inkludere den, du kan bare ligge din .as fil i samme mappe som din fla, så finder den selv.
#include betyder netop at flash tager din kode og tolker den som om du havde skrevet den direkte i actionsvinduet.
Slettet bruger
17. juni 2006 - 10:08
#10
Nååå, haha, ja det forklarer en del ;) Bare læg et svar :)
17. juni 2006 - 10:22
#11
aight
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.