Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-01-2007, 13:13   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
Problem mit Funktionsaufruf!

Hallo!

Wiedermal vertrau ich auf euer Wissen (und ich bin mir auch wieder sicher, dass ich nicht entäuscht werde ):
ich habe eine function geschrieben (z.z. soll sie nur ein primitives trace machen um zu sehen ob es geht). Diese function liegt in der obersten Zeitleiste im root:

function DoIt(){
trace("es geht!");
}

nun habe ich einen Button in einem MC der soll folgendes tun:

on(press){
play(); /*für Animation*/
DoIt();
}

der Button findet aber die function nicht! Wie muss ich die aufrufen?


DANKE!!!!!!!!!

Martin
Batman1976 ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:15   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
PHP-Code:
on(press){
play(); /*für Animation*/
_root.DoIt();
//oder this._parent.DoIt()

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:17   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

mit welchem flash arbeitest du(version)?

solltest deinen buttons und movieclips instanznamen vergeben und actionscript nurmehr auf die hauptzeitleiste des filmes schreiben;

entweder:

PHP-Code:
on(press){
play(); /*für Animation*/
_root.DoIt();//weil die function ja in _root geschrieben wurde;

besser:

PHP-Code:
deinButton.onPress = function(){
doIt();
this.play();

__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (02-01-2007 um 13:37 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:33   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
ok,ok,ok...

jetzt muss ich mal was loswerden:
ich muss sehr oft in verschiedenen foren rumhängen um mir tipps und ratschläge zu holen, aber was HIER abläuft ist ja schon überirdisch
VIELEN, VIELEN, VIELEN DANK!!!

den rat mit der programmierung in der hauptzeitleiste nehm ich mir zu 100% zu herzen!

jetzt hab ich noch eine "kleine" frage:
vorher hab ich ja den button die anweisung on(press) { play()} gegeben.
in der leiste, in der auch der button liegt hab ich an verschiedenen stellen stop() eingebaut. also jedesmal wenn ich drücke, soll bis zum nächsten stop() gespielt werden. hat auch gefunzt. NUR, wenn ich jetzt das ganze mit this.play anspreche (hauptzeitleiste), dann tut er nix...wenn ich ihm sage this.gotoAndPlay(5) tut sich auch nix...

was übersehe ich?
Batman1976 ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:44   #5 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
achtung wennn du this.play sagst dann referierst du auf den button und nicht auf die ruth (_root)
daher würde ich die root refenzieren und dann kannst du sie aus jeder veschachtelungs ebene ansteueren zb so

PHP-Code:
var tl this;
deinBtn.onPress= function (){
tl.gotoAndPlay(tl._currentframe);// oder sonstwohin :)

}; 
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:45   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
habs!

statt
this.play();
hab ich jetzt
this._parent.play()

es geht!

NOCHMALS VIELEN DANK FÜR EURE SUPERSCHNELLE HILFE!!!!!!!!!

Martin
Batman1976 ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:54   #7 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ich dachte, der button soll playen....
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-01-2007, 13:57   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von andretti Beitrag anzeigen
ich dachte, der button soll playen....
Du sollst doch nicht denken...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-01-2007, 14:06   #9 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
hrhr

__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 02-01-2007, 14:20   #10 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Zitat:
Zitat von Der Frager Beitrag anzeigen
Du sollst doch nicht denken...
Zitat:
Zitat von bloba Beitrag anzeigen
hrhr


aber habt's mich doch gern!
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-01-2007, 16:06   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
letzte frage!!!

hallo...nochmal!

ein "kleines" problem hab ich noch: ich möchte ja, das jeder button nun die function im _root aufruft ABER mit einem anderen parameter...like this:
DoIt(i)

also hab ich eine for-to-do gemacht, die mal alle buttons anspricht (brav in der hauptzeitleiste ), und dann folgendes geschrieben:

currentButton=MainButtonNames[i];
eval('this.' + currentButton ).button_press.onPress = function(){

MoveButtons(i);
this._parent.play();
}

leider übergibt dann jeder den AKTUELLEN zustand von i...dachte eigentlich, i wird dann gelöscht, wenns aus der schleife rausgeht, bzw. ist halt lokal

das ganze steht, wie gesagt in der hauptzeitleiste und ist KEINE funktion sondern nur script...wird also einfach ausgeführt!

wie defnier ich bitte so eine variable richtg?

DANKE
Batman1976 ist offline   Mit Zitat antworten
Alt 02-01-2007, 16:25   #12 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
i musst du lokal zwischenspeichern.
ActionScript:
  1. currentButton=MainButtonNames[i];
  2. for
  3. {
  4. this['currentButton'].i = i
  5. this['currentButton'].button_press.onPress = function(){
  6. MoveButtons(this._parent.i);
  7. this._parent.play();
  8. }
  9. }
-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 02-01-2007, 20:33   #13 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
uff...auf diese lösung wär ich nicht gekommen!

was genau bringt die punktnotation in diesem fall? heißt das, dass es ein level höher angelegt wird?
Batman1976 ist offline   Mit Zitat antworten
Alt 02-01-2007, 20:42   #14 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
nö, der punkt verbindet nur den button aus der schleife mit seiner id.

wie bei verschachtelten movieclips, so geht das auch mit id's(variablen)

PHP-Code:
meinclip1.meinclip2 
oder eben

PHP-Code:
meinclip.identifikationsnummer 
somit weiß flssh, dass das letzte "wort" zum vorhergehenden gehört und ordnet das dem zu;

so erklärt das der antiprogrammierer andretti.....
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 03-01-2007, 12:13   #15 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Beiträge: 117
hab grad diese .i-ösung probiert ...hab aber noch ein problem wie es scheint:

for (i=0;i<(numberofbuttons);i++)
{
currentButton=MainButtonNames[i];
//trace(currentButton);
this['currentButton'].i = i;
test = this._parent.i;
trace(test);
}


output:
undefined
undefined
undefined
undefined
undefined


was mach ich schon wieder falsch???
Batman1976 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele