| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 148
| flash->javascript?
hallo ich möchte den browser bei bestimmten aktionen im flash rütteln! ich hab ein javascript, dass auch funktioniert wenn ich es vom HTML aus aufrufen zum test (z.B. onload) nun testhalber ab ich einen dummy-button um flash ums mal zu testen, nur leider ohne erfolg. ich hab das javascript schon jene mal umgeschrieben aber es geht immer noch nicht vom flash aus... nur mit z.B. onload im HTML! kann mir jemand weiterhelfen? hier das javascript: HTML-Code: <script language="javascript"> <!-- function shake_xy() { if (self.moveBy) { for (i = 5; i > 0; i--) { for (j = 10; j > 0; j--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); } } } } //--> </script> Code: on (press) {
getURL("javascript:shake_xy();");
} |
| | |
| | #4 (permalink) |
| FF User Registriert seit: Jul 2002
Beiträge: 135
|
Hab's getestet: Du veröffentlichst für den 8er-Player, bindest die swf im html aber als 7er-swf (#version=7,0,19,0) ein. Wenn du bei den Einstellungen für Veröffentlichen Flash7 angibst funktionierts. Alternativ eben im html als Flash8-swf einbinden. |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 148
|
wow das mit dem ExternalInterface sieht interessant aus.. ich bin nun mal am ausprobieren, geht aber noch nicht! im flash verwende ich nun das script um das javascript aufzurufen: Code: on (press) {
ExternalInterface.call("shake_xy();");
} diese variante auch nicht: Code: on (press) {
ExternalInterface.call("shake_xy");
} wie funktioniert das nun in Flash8 mit AS2? |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Feb 2006 Ort: undefined
Beiträge: 70
|
du musst die Klasse importieren PHP-Code: Eine AS2 Variante kann ich jetzt nicht so aus der Hüfte schießen, wenn ich nicht weiß in welchem Kontext die Verwendung steht. |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Feb 2006 Ort: undefined
Beiträge: 70
|
Bis auf einen alert und hier deine shake Funktion, wird meistens ein Rückgabewert von js abgefangen ( ein return in der js-Funktion) Du darfst dabei nur den Funktionsnamen übergeben. Also call("shake_xy") statt call("shake_xy();") PHP-Code: |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 148
|
thnx sevenDust ich habs soeben mit deinem letzten posting-tip versucht, und als flash8 AS2 exportiert! geht immer nocht nicht?! in der flash hilfe hab ich nun das mit der klasse importieren auch gefunden.. nur wenn ich das so mache, wie dort beschrieben und so wie du mir auch angegeben hast: Code: import flash.external.*; ich hab nun auch mal einen anderen test gemacht, da das rütteln schlussendlich auf der zeitliste aufgerufen werden soll (zu ner animation)! einfach so auf ein keyframe (flash8 AS2): Code: import flash.external.*;
ExternalInterface.call("shake_xy"); danke für deine hilfe |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 148
|
bin immer noch an dem externalInterface testen, und bringe es nicht zum laufen! ich hab diesen thread gefunden: ExternalInterface und danwips test kurz nachgebaut, und es auch von meinem testserver aus getestet! bei mir geht gar nix... nicht mal nen alert! arbeite übrigens mit OSX und Flash8pro, da scheinbar bei WIN ein alert kommt wenn man es lokal testet?! wie bring ich den "externalInterface.call" zum laufen? |
| | |
| | #13 (permalink) |
| FF User Registriert seit: Jul 2002
Beiträge: 135
|
okay, habe auch mal mein Glück mit dem ExternalInterface probiert: Lief bei mir auch nicht, bis ich in der html-Datei folgendes im embed-Tag dazugefügt habe: <embed src="test.swf" allowScriptAccess="always" ... Probier das mal, bei mir hat das dann funktioniert. anstatt import flash.external.*; ExternalInterface.call... kannst du auch gleich flash.external.ExternalInterface.call... schreiben. Das * beim Klassenimport bedeutet, dass alle Klassen aus dem Package (flash und external sind z.B. packages) verfügbar sind. Das ist dann nützlich, wenn du in einem Script mehrere Klassen oder eine Klasse mehrmals aus dem selben Package verwendest. Spart Schreibarbeit. Hoffe es klappt jetzt |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |