/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
Flash og klasser
Fra : Bo Dudek


Dato : 15-04-04 07:21

Hola

Indtil videre har jeg i mine mange flashprojekter hoppet let og
elefant hen over classes - klasser, på dansk - i flash. Er der mon en
venlig sjæl, der med 15 pæredanske ord kan beskrive, hvad man f.eks.
bør bruge classes til?

Mvh
Bo Dudek
www.bodudek.dk


 
 
Bent Rasmussen (17-04-2004)
Kommentar
Fra : Bent Rasmussen


Dato : 17-04-04 19:15

"Bo Dudek" <bo@FJERNbodudek.dk> wrote in message
news:9aas705bmfkf57i3jihgvgjjmltqp48ou9@4ax.com...
> Hola
>
> Indtil videre har jeg i mine mange flashprojekter hoppet let og
> elefant hen over classes - klasser, på dansk - i flash. Er der mon en
> venlig sjæl, der med 15 pæredanske ord kan beskrive, hvad man f.eks.
> bør bruge classes til?

Det er der nok forskellige holdninger til. Nogle vil sige at de gør et
større program enklere, andre vil sige at man med klasser bedre kan
videreudvikle et program. Du kan bruge klasser til at definere en datatype
og nogle operationer på denne datatype. Det er lidt udenfor rækkevidden af
det her emne at give en beskrivelse af alle de områder man kan bruge klasser
til at beskrive, men: hvis du f.eks. i dit program skal holde styr på
punkter i rummet kunne du lave en klasse til at disse

----------------------- filen Point.as -------------------------
class Point {
var x: Number
var y: Number
var z: Number

function Point(x: Number, y: Number, z: Number) {
this.x = x
this.y = y
this.z = z
}
}
----------------------- filen Point.as -------------------------

Nu har du en meget enkel klasse der dog indtil videre ikke gør andet end at
holde på koordinater. Du kan oprette eksempler (instanser) på klassen ved at
skrive

P = new Point(1,0,0)
Q = new Point(-1,0,0)

Du kan bruge de variable klassen har ved f.eks. at skrive

R = new Point(P.x+Q.x, P.y+Q.y, P.z+Q.z)

Nu har du et nyt punkt R der udgør vektor-summen af to andre punkter. Men
lad os sige du gerne vil kunne beregne afstanden mellem to punkter, normalt
ville du måske skrive

function Distance(x,y,z,x1,y1,z1) {
return Math.sqrt(x*x1 + y*y1 + z*z1)
}

Hvis du bruger klasser kan du tilføje denne operation til Point da det jo er
en operation der kan anvendes på punkter


----------------------- filen Point.as -------------------------
class Point {
var x: Number
var y: Number
var z: Number

function Distance(that: Point): Number {
return Math.sqrt(this.x*that.x + this.y*that.y + this.z*that.z)
}

function Point(x: Number, y: Number, z: Number) {
this.x = x
this.y = y
this.z = z
}
}
----------------------- filen Point.as -------------------------

Den nye funktion gør det muligt at få afstanden mellem to punkter P og Q ved
at skrive

dis = P.Distance(Q)

Klasser kan også kædes sammen så f.eks.

Ansat < Person

Dermed kan du genbruge en anden klasse. Når du definerer klassen Ansat
skriver du bare

class Ansat extends Person
{
...etc...
}

Men du må nok hellere finde en Actionscript 2 tutorial om emnet. For mit
vedkommende går jeg ikke tilbage til direkte at bruge prototyper. Det er
meget lettere at fejlfinde klasser efter min mening.

Man kan sige at når du laver en klasse og definerer nogle variable og
funktioner i klassen, så giver du alle funktionerne kendskab til variablene
så når du giver objekter videre til diverse funktioner så har funktionerne
de data de skal bruge for at udføre deres opgaver; men selvfølgelig er der
nogle der har parametre, som Distance, der skal bruge et andet punkt for at
kunne færdiggøre udregningen af afstanden. Noget lignende kunne vi også lave
ved at skrive

function Distance(x,y,z) {
var x = x
var y = y
var z = z
return function(x1,y1,z1) {
return Math.sqrt(x*x1 + y*y1 + z*z1)
}
}

DistanceTo111 = Distance(1,1,1)

dis = DistanceTo(3,4,5)

Med DistanceTo111 har vi lavet en ny funktion der udregner afstanden mellem
(1,1,1) og ?
Med DistanceTo111(3,4,5) har vi lavet en udregning af afstanden mellem
(1,1,1) og (3,4,5).

Anyway, led efter tutorials om Actionscript 2. Her er nogle spredte
småtutorials jeg lige fandt.

http://www.video-animation.com/flash_15.shtml
http://www.debreuil.com/docs/ch01_Intro.htm
http://www.macromedia.com/devnet/mx/flash/articles/3d_classes.html

> Mvh
> Bo Dudek
> www.bodudek.dk



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste