Avatar billede 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 ;)
Avatar billede mat Nybegynder
16. juni 2006 - 17:14 #1
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
Avatar billede Slettet bruger
16. juni 2006 - 19:43 #2
Hmm...
Hvad betyder extends?
I dette tilfælde at klassen "udvides" til et MC?
Avatar billede 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
Avatar billede mat Nybegynder
16. juni 2006 - 19:56 #4
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.
Avatar billede Slettet bruger
16. juni 2006 - 20:22 #5
Aahhh...
Men hvorfor kommer den anden fejl?
(Se min sidste kommentar)
Avatar billede mat Nybegynder
16. juni 2006 - 20:32 #6
Den kommer ikke med fejl her, jeg har lige testet. Hvordan bruger du klassen?
Avatar billede Slettet bruger
16. juni 2006 - 20:49 #7
Det gør jeg ikke.
Jeg inkluderer bare klassen i et dokument.
Avatar billede mat Nybegynder
16. juni 2006 - 22:09 #8
Du skal ikke inkludere den, du kan bare ligge din .as fil i samme mappe som din fla, så finder den selv.
Avatar billede mat Nybegynder
16. juni 2006 - 22:10 #9
#include betyder netop at flash tager din kode og tolker den som om du havde skrevet den direkte i actionsvinduet.
Avatar billede Slettet bruger
17. juni 2006 - 10:08 #10
Nååå, haha, ja det forklarer en del ;)
Bare læg et svar :)
Avatar billede mat Nybegynder
17. juni 2006 - 10:22 #11
aight
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester