[Flash/JS]via javascript een functie aanroepen in flash

Pagina: 1
Acties:

  • Linc
  • Registratie: December 2000
  • Laatst online: 19-02 12:07
Ik heb een probleempje ik wil namelijk een functie aanroepen die ik zelf heb gemaakt:
code:
1
2
3
4
function loadVars(l_id)
{
    loadVariablesNum("url"+l_id,0);
}

nu weet ik dat het in javascript mogelijk is om het volgende te doen:
code:
1
document.Movie1.SetVariable('click_log_field',click_log);

het is alleen niet mogelijk om gelijk dit te doen:
code:
1
document.Movie1.loadVars(2);

Mijn vraag is dus hoe roep ik een eigengemaakt functie in flash aan via javascript?

ps
ik gebruik flash mx

http://www.slobmotorsport.nl - iRacing Profiel


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Flash & javascript horen bij de buren ;)

PW -> WG

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

hoewel het andersom wel kan, geloof ik niet dat dit kan. Je kunt niet vanuit javascript naar flash; of het moet met een document.write zijn ofzo, maar dat is vals spelen ;)

Als ik ongelijk heb hoor ik dat heeeeeel erg graag; ik heb ook nog wat ideetjes hiermee liggen

Stoer; Marduq


Verwijderd

Het kan wel, via fscommands; zie hier een voorbeeld :

http://www.moock.org/webd.../javascript-to-flash.html

Ik kan het je alleen niet aanbevelen, het werkt niet goed, en niet in alle browsers.

  • Linc
  • Registratie: December 2000
  • Laatst online: 19-02 12:07
Verwijderd schreef op 08 maart 2004 @ 13:51:
Het kan wel, via fscommands; zie hier een voorbeeld :

http://www.moock.org/webd.../javascript-to-flash.html

Ik kan het je alleen niet aanbevelen, het werkt niet goed, en niet in alle browsers.
fscommands gebruik je toch juist voor andesom van flash naar javascript zegmaar? het kan dus blijkbaar niet, want ik wil een eigengemaakt functie in flash aanroepen en niet een standaar functie zoals Play()

http://www.slobmotorsport.nl - iRacing Profiel


Verwijderd

the_Emperor schreef op 08 maart 2004 @ 14:11:
[...]


fscommands gebruik je toch juist voor andesom van flash naar javascript zegmaar? het kan dus blijkbaar niet, want ik wil een eigengemaakt functie in flash aanroepen en niet een standaar functie zoals Play()
Misschien een goto naar een frame waar de functie word aangeroepen?

Verwijderd

Ok,

Kan je met Flash geen javascript troep importeren? Bijvoorbeeld een variabele oid? Als dat namelijk zo is, kan je een eigen FrameWork schrijven om JS te laten communiceren met Flash...
Lijkt me niet echt dat het kan, maar toch... :)

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
een omweg:

zie dat je de flash met een socketserver verbind.

in javascript 'roep' een pagina aan (transparent) die dan tegen de socketserver zegt dat flash op IP x iets moet doen

de server zend die dan weer terug..

Handig? Nope ;)

Verwijderd

Kan Flash niet met SOAP overweg? :)

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

fscommands gebruik je toch juist voor andesom van flash naar javascript zegmaar? het kan dus blijkbaar niet, want ik wil een eigengemaakt functie in flash aanroepen en niet een standaar functie zoals Play()
flash naar javascript is makkelijk; gewoon met getURL("javascript:myfunction(parameters)") net zoals in een link (het javascript moet natuurlijk wel op de pagina staan.

B-top welke browsers ondersteunen het wel en welke niet dan? ie ondersteunt het blijkbaar. En is er kans dat het een standaard gaat worden; ik zou het erg graag toepassen voor navigatiesystemen.

Stoer; Marduq


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Je kan toch een var setten vanuit JS naar flash?
Dan kan je ook functions triggeren, set een var, functie binnen flash controleert of var geset is, zoja, voer functie uit.

Huur mij in als freelance SEO consultant!


  • Linc
  • Registratie: December 2000
  • Laatst online: 19-02 12:07
Verwijderd schreef op 08 maart 2004 @ 14:31:
[...]

Misschien een goto naar een frame waar de functie word aangeroepen?
ik had hier al aangedacht maar ik had gehoopt dat je gewoon de functie recthstreeks kon aanroepen, maar ik denk nie dat dat gaat lukken.
CrashOne schreef op 08 maart 2004 @ 19:15:
Je kan toch een var setten vanuit JS naar flash?
Dan kan je ook functions triggeren, set een var, functie binnen flash controleert of var geset is, zoja, voer functie uit.
is niet echt een goeie manier om te programmeren denk ik :) een functie die hele tijd checkt of een variable is geset zeker niet bij meerdere funcities

http://www.slobmotorsport.nl - iRacing Profiel


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
the_Emperor schreef op 09 maart 2004 @ 09:59:

is niet echt een goeie manier om te programmeren denk ik :) een functie die hele tijd checkt of een variable is geset zeker niet bij meerdere funcities
Daar is helemaal niks mis mee qua programmeren. Een game-engine als Unreal bestaat uit een hele verzameling objecten die bijna allemaal de functie Tick(deltaT) hebben, die zo vaak mogelijk worden uitgevoerd als mogelijk. In die Tick functie worden meestal andere functies aangeroepen op basis van de "state" (status) v/h object. Via SetVariable een "state" zetten is imho dus een prima manier, de beste(?!) manier misschien wel...

FSCommands kun je gebruiken om terug te kletsen als het snel moet, GetURL als je af en toe een call naar JS moet maken. Een collega heeft laatst een scrollbar gebouwd in Flash waarmee je door de inhoud van HTML-divjes kon scrollen. Via GetURL werkte het ook wel, maar omdat je tijdens het scrollen voortdurend de positie van de scrollbalk moest updaten, begon de browser (IE) als een idioot die navigation-audio-tikjes af te spelen met GetURL (immers getURL is niet meer of minder dan een GET commando (oftwel, URL opvragen) voor je browser.

FSCommands gaat sneller en zonder GET. Het schijnt zelfs te werken op Mozilla, mits je Java geinstalleerd hebt. Wel moet je dan wachten tot de VM opgestart is, hetgeen toch de nodige seconden kan kosten.

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

Kijk, daar heb je tenminste wat aan,
thx Genoil :) (8>

Stoer; Marduq


  • Linc
  • Registratie: December 2000
  • Laatst online: 19-02 12:07
Genoil schreef op 09 maart 2004 @ 12:09:
[...]


Daar is helemaal niks mis mee qua programmeren. Een game-engine als Unreal bestaat uit een hele verzameling objecten die bijna allemaal de functie Tick(deltaT) hebben, die zo vaak mogelijk worden uitgevoerd als mogelijk. In die Tick functie worden meestal andere functies aangeroepen op basis van de "state" (status) v/h object. Via SetVariable een "state" zetten is imho dus een prima manier, de beste(?!) manier misschien wel...
jamaar dat is toch heel intensief dan? ik bedoel dan is flash de hele tijd processor tijd aan het gebruiken terwijl er helemaal niks gebeurd en als ik alleen een functie aanroep als er ff iets moet gebeuren dan kost dat toch minder rekenkracht ??

ik heb trouwens nu zo gedaan dat ik een frame aanroep met de functie TCallLabel en daar staat dus de code om de functie aan te roepen.

http://www.slobmotorsport.nl - iRacing Profiel


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
the_Emperor schreef op 09 maart 2004 @ 13:20:
[...]


jamaar dat is toch heel intensief dan? ik bedoel dan is flash de hele tijd processor tijd aan het gebruiken terwijl er helemaal niks gebeurd en als ik alleen een functie aanroep als er ff iets moet gebeuren dan kost dat toch minder rekenkracht ??

ik heb trouwens nu zo gedaan dat ik een frame aanroep met de functie TCallLabel en daar staat dus de code om de functie aan te roepen.
ik denk dat dat wel meevalt met de intensiteit. een flash-filmpje in idle-state doet toch nog een heleboel dingen, hoe denk je anders dat events als mouseover enz. getriggerd worden, "gewoon" door zovaak mogelijk te checken of er mouseovers zijn..
Pagina: 1