Problem: Plik swf utworzony w actionscript2 będzie osadzony w innym pliku swf utworzonym w actionscript3. W jaki sposób z jednego pliku swf wywołać metodę w drugim?
Rozwiązaniem jest użycie klasy LocalConnection. Oto przykładowy kod:
embeded.swf (actionscript 2):
on(release) { var localConnection:LocalConnection = new LocalConnection(); localConnection.send("holderConnection", "myMethod"); } |
holder.swf (actionscript 3):
import flash.net.LocalConnection; public class Holder { public function Holder() { var localConnection:LocalConnection = new LocalConnection(); localConnection.client = this; localConnection.connect("holderConnection"); } public function myMethod():void { trace('metoda myMethod została wywołana'); } } |
Należy zwrócić uwagę, aby metody które chcemy wywołać były zdefiniowane jako metody publiczne.