Eigene Funktion in as Dateien auslagern [Flash 10]
| 07.11.2009, 19:54 | | Beiträge: 12 Registriert: Aug 2009
| Eigene Funktion in as Dateien auslagern Hallo,
ich habe ein Problem beim auslagern von funktionen in eine externe as datei,
ich habe eine funktion die später den movieclip von frame x bis frame y abspielen soll diese brauch ich immer wieder daher hab ich mir gedacht ich lager sie in eine externe datei aus nur nun sagt mir die ausgabe das meine Funktion keine Funktion sei.
die eine as datei
ActionScript:1 2 3 4 | function menuMouseOver(event:MouseEvent):void
{
event.target.playRange(1, 5);
}
|
die as datei mit der funktion drinActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package
{
import flash.*:
public class playRange extends MovieClip
{
public var startFrame:int;
public var endFrame:int;
public function playRange(startFrame, endFrame):void
{
this.gotoAndPlay(startFrame);
this.addEventListener(Event.ENTER_FRAME, stopen);
function stopen()
{
if (currentFrame == endFrame)
{
this.stop();
}
}
}
}
}
|
was ist falsch? habe sie natürlich importiert in der 1. as datei.
Ausgabe zeigt an:
ActionScript:1 2 | TypeError: Error #1006: playRange ist keine Funktion.
at MethodInfo-26()
|
danke schonmal für die Hilfe | Geändert von Tyriis am 07.11.09 um 19:56 Uhr
| |
|
| 08.11.2009, 12:07 | Re1 | Beiträge: 1769 Wohnort: Laimbach 6 1/2 Registriert: Nov 2002
| Wo hast Du die Importiert, mit "import flash.*:" importierst Du nur die Flash eigenen Dateien.
Wenn die Function-Datei nur so aussieht wie gepostet, wirst die noch um Class und Start-Function erweitern müßen.Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen" | |
| 08.11.2009, 17:40 | Re2 | Beiträge: 12 Registriert: Aug 2009
Themenautor/in
| Ok war vllt nicht richtig erklärt von mir also ich habe ein MovieClip Objekt in der Bibliothek, dieser hat 5 frames jeder ein eigenes Schlüsselbild.
nun erstelle ich eine neue Instance von dem MovieClip über die MainClass.as
dann will ich das dieser MovieClip beim draufklicken nur von vorgegebenen Frames abläuft und wieder stopt also nur frame 2-4 soll abgespielt werden.
daher hab ich eine neue Funktion dafür die playrange heisst diese möchte ich nun in eine neue Klasse auslagern da ich denke das ich diese funktion für andere aufgaben auch wieder brauchen kann, innerhalb dieses projekts aber auch inerhalb anderer Projekte.
so schaut meine MainClass.as aus selbes Verzeichnis wie die .fla
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | package
{
import flash.display.MovieClip;
import flash.events.*;
import playRange;
public class MainClass extends MovieClip
{
public function MainClass()
{
var my_btn:btn = new btn();
my_btn.addEventListener(MouseEvent.CLICK, onClick);
my_btn.buttonMode = true;
function onClick()
{
my_btn.playRange(3, 5);
}
addChild(my_btn);
}
}
}
|
und so sieht meine playRange.as aus:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package
{
import flash.*:
public class playRange extends Function
{
public var startFrame:int;
public var endFrame:int;
public function playRange(startFrame, endFrame)
{
this.gotoAndPlay(startFrame);
this.addEventListener(Event.ENTER_FRAME, stopen);
function stopen():void
{
if (currentFrame == endFrame)
{
this.stop();
}
}
}
}
}
|
und nun sagt er mir halt das playRange keine Funktion ist wenn ich draufklicke.
muss ich die funktion noch registrieren oder wie binde ich die ein? das ich die ganz normal nutzen kann wie z.b. gotoAndPlay?
ActionScript:1 2 | TypeError: Error #1006: playRange ist keine Funktion.
at MethodInfo-1()
|
warum ist es keine Funktion? wasn das sonst? oO
und das flash.* hab ich erstmal drin das mach ich am ende dann so das er nur das importiert was man braucht, weil das ganze noch erweitert werden soll. | Geändert von Tyriis am 08.11.09 um 17:46 Uhr
| |
|
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 08.11.2009, 20:12 | Re3 | Beiträge: 1769 Wohnort: Laimbach 6 1/2 Registriert: Nov 2002
| Vielleicht mal das Ziel in den Funktions--Aufruf packen.
playRange(my_btn,3, 5);
public function playRange(mb:MovcieClip,startFrame, endFrame)
{
mb.gotoAndPlay(startFrame);
mb.addEventListener(Event.ENTER_FRAME, stopen);Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen" | |
| | Themen Ähnliche Beiträge zum Thema | 25.06.2010 - Meijestic 05.05.2009 - shadow_zed 05.11.2009 - neoterianer 05.10.2009 - antonio2604 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
31.01.12, 12:30#Jobs Wir suchen (freiberufliche) Flash Developer (m/w) in Köln/Aachen http://t.co/4WPsXPOA 20.01.12, 21:02#Jobs Flash-Projekt Produktkonfigurator http://t.co/qPlGSiPd 12.01.12, 18:50#Jobs Flash Freelancer für ca. 2 Wochen in München gesucht http://t.co/XpMJr5dv 10.01.12, 10:45#PureMVC vs #RobotLegs Performance Battle. PureMVC is significantly faster than RobotLegs in nearly every respect. http://t.co/324gWRAr 06.01.12, 21:37#Jobs Flash Developer in Hamburg gesucht http://t.co/hZgTZvHJ
Regeln & Bedingungen
|