Volledige versie bekijken : Dynamische classes
Cowerd
%Europe/Berlin %764 %2005, 19:21
Ik heb een vraagje,
ik heb 5 fla-tjes waarin ik dezelfde AS's wil gebruiken dus die heb ik in een .as gezet en daarin een class en een functie.
Maar is he tmogelijk dat als ik de 5 fla's exporteer dat als ik de code in .as verander dat het dan ook meteen werkt in de swf-jes zonder ze opnieuw te exporteren?
Dauntless
%Europe/Berlin %772 %2005, 19:31
Nope, niet mogelijk. Overigens is het opzich niet mogelijk om in 1 as een Class en een Functie te zetten :p.
Cowerd
%Europe/Berlin %778 %2005, 19:41
Dan snap ik het totaal verkeerd:P
ik h eb zegmaar dit:
class script {
function script() {
//De functie
}
}
Dauntless
%Europe/Berlin %795 %2005, 20:04
Als je zegt functie denk ik dit:
Class Foo()
{
}
function blabla()
{
}
Wat jij hebt is in principe gewoon 1 class, en eventueel kan je zeggen dat de class 1 method heeft).
Cowerd
%Europe/Berlin %843 %2005, 21:14
Ohja dat las ik inderdaad in de flash help maar dat is denk ik niet helemaal door gedrongen..
maar nu nog een vraag:
ik heb een class met 2 methods maar hoe vraag ik de ene en hoe de andere aan..?
want ik roep ze nu zo aan:
new script();
en dan is de as dus dit:
class script {
function script() {
//code
}
}
maar hoe doe ik dat als ik er een method onder zet?
Dauntless
%Europe/Berlin %854 %2005, 21:30
Bv:
//in een bestandje: Foo.as
class Foo
{
public function Foo(arg:String)
{
trace("Er is een nieuwe instance aangemaakt van Foo met de parameter: "+arg);
}
public function som(getal1:Number, getal2:Number):Void
{
trace("de som is "+(getal1 + getal2));
}
}
//in een .fla:
var myFoo:Foo = new Foo("Wauw, cool!");
//en dan die andere method aanroepen:
myFoo.som(5,7);
Cowerd
%Europe/Berlin %857 %2005, 21:35
Hmm bedankt:D
ik er even mee puzzelen:D
Cowerd
%Europe/Berlin %873 %2005, 21:58
hmm.. nu heb ik dit:
var script:script = new script();
script.lcrecieve("page1",bg)
script.alpha(bg,bg._alpha);
Maar alleen de laatste method het..
Dauntless
%Europe/Berlin %878 %2005, 22:05
Laat dan je class zien :)? En het is een goede gewoonte om classe namen met een Hoofdletter te laten beginne :). (En script:script = new script() is ook niet gezond, doe dan: myScript:script = new script(); om dat de compiler moeilijk kan doen omdat je een instancenaam de zelfde naam als de class geeft).
Cowerd
%Europe/Berlin %895 %2005, 22:29
#include "lmc_tween.as"
var myScript:script = new script();
myScript.Lcrecieve("page1",bg)
myScript.Alpha(bg,bg._alpha);
in de fla
en
class script {
public function script() {
trace("ok");
}
public function Alpha(mc,nu) {
mc.onEnterFrame = function() {
mc.onRollOver = function() {
mc.alphaTo(100,1,"linear");
}
mc.onRollOut = function() {
mc.alphaTo(nu,1,"linear");
}
}
}
public function Lcrecieve(name:String,mc:MovieClip) {
var receiving_lc:LocalConnection = new LocalConnection();
mc.onEnterFrame = function() {
receiving_lc.alpha = function(param1:Number) {
mc._alpha = param1;
};
}
receiving_lc.connect(name);
}
function Lcsend(name:String) {
var afstand:Number = 0;
var sending_lc:LocalConnection = new LocalConnection();
_root.onEnterFrame = function() {
afstand = (_root._ymouse-300)/150*100;
sending_lc.send(name,"alpha",afstand);
}
}
}
Dauntless
%Europe/Berlin %906 %2005, 22:44
Waarom maak je die onRollOver & onRollOut aan IN je onEnterFrame ? En ben je zeker dat hij niet uitgevoerd wordt? Heb je getraced ?
Cowerd
%Europe/Berlin %912 %2005, 22:54
Nou dat had ik gedaan om iets te testen maar vergeten het weg te halen..
en ik zal t even tracen:)
Hij traced bijde functies..
maar voerd alleen de bovenste uit..
Dauntless
%Europe/Berlin %915 %2005, 22:58
Ik snap wel nog altijd niet het nut van die onRollOver binnen die onEnterFrame ... Ik denk dat het eigenlijk gewoon aan je denkwijze ligt... Kan je even jezelf 'verantwoorden' ?
Cowerd
%Europe/Berlin %920 %2005, 23:06
nou, ik heb 10 swfjes op 1 pagina, en in 5 daar van wil ik dat als je erover heen gaat dat de alpha omhoog gaat (het is een transparante swf)
maar als ik de pagina laad moet ik eerst op de swfjes klikken voordat de code werkt en toen probeerde ik dat even, maar dat werkte niet..
Dauntless
%Europe/Berlin %933 %2005, 23:24
Dan moet je niet in een onEnterFrame een onRollOver toekennen, maar bij een onRollOver een onEnterFrame starten ;).
Cowerd
%Europe/Berlin %940 %2005, 23:34
aha omdraaien dus:P
heb ik getest maar dan werkt de hele functie niet meer:P
Dauntless
%Europe/Berlin %944 %2005, 23:39
Maar uhm, ik weet eigenlijk niet of je die easeTo wel gaat kunnen gebruiken... Dat zijn allemaal proto's, en 'k denk dat je die niet kan combineren met je class ...
Cowerd
%Europe/Berlin %947 %2005, 23:43
Ja hij werkt iig wel maar het lijkt of het elkaar overschrijft..
myScript.Lcrecieve("page1",bg)
myScript.Alpha(bg,bg._alpha);
hier werkt de alpha method
myScript.Alpha(bg,bg._alpha);
myScript.Lcrecieve("page1",bg)
en hier de Lcrecieve method..
Dauntless
%Europe/Berlin %959 %2005, 00:01
Ahja, je kan geen 2 onEnterFrames op dezelfde mc zetten hé! Maak bv een temp object aan waar je de onEnterFrame op zet ..
Cowerd
%Europe/Berlin %985 %2005, 00:38
Hmm.. ik zal het eensproberen..
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.