Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2004, 14:07   #1 (permalink)
KMP
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 11
Animation anhalten

Hallo,

Meine Animation läuft in nur einem Schlüsselbild ab. Dort habe ich eine Funktion geschrieben, die die Animation steuert.

Kann ich die Animation auch in meiner Funktion anhalten? Und wie mache ich das.

Ich habe es mit stop() probiert, habe es aber nicht hinbekommen.

Gruß
KMP
KMP ist offline   Mit Zitat antworten
Alt 07-01-2004, 14:10   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Tja, wenn man schon so komplizierte Sachen skriptet...

Zeig doch das Skript (oder zumindest den Teil mit der Bewegung) mal hier.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-01-2004, 14:14   #3 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
welche bedingungen hatt deine funktion?
was macht deine funktion?

waere nett wenn du die funktion mal mit reinpacken wuerdest, da koenn wir dir auch sagen wie du sieh anhaelst...

meistens passiert das wenn eine bedingung erfuellt ist
ActionScript:
  1. deineFunction function(count){
  2. this.onEnterFrame = function(){
  3. //solange der wert nicht erfuellt ist,
  4. //zaehl weiter
  5. if(i<count){
  6. count++;
  7. trace(i);
  8. }else{
  9. //isser ereicht, loesch die function
  10. delete this.onEnterFrame;
  11. }
  12. }
  13. }
  14. //aufruf der funktion
  15. deineFunction(24);

schoene gruesse
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu ist offline   Mit Zitat antworten
Alt 07-01-2004, 14:18   #4 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
mit folgendem befehl kannst du einen movieclip stoppen:

deinMovieclip.stop();

gruß! daniel
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 07-01-2004, 14:29   #5 (permalink)
KMP
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 11
Mein Code sieht so aus:
(siehe auch Beitrag Verzögerung in Funktion)
Die Funktion die ich Aufrufe ist KMP(mit Button)

function KMP(Text, Muster) {
var n = Text.length;
var m = Muster.length;
var L = new Array();
var T = new Array(n-1);
var P = new Array(m-1);
// Array füllen
for (var y = 0; y<n; y++) {
T[y] = Text.charAt(y);
}
for (var z = 0; z<m; z++) {
P[z] = Muster.charAt(z);
}
var next = KMPnext(_root.muster1);
var j = 0;
var xwert = 0;
var v = 0;
for (var i = 0; i<n; i++) {
while (j>0 && T[i] != P[j]) {
_root.Lade1();
j = next[j];
}
if (T[i] == P[j]) {
//hier läuft die Animation ab. Es werden schrittweise Symbole in den Film geladen
_root.Lade2();
j = j+1;
}
if (j == m) {
L[v] = i-m;
v = v+1;
j = next[j];
}
}
return v;
}
function KMPnext(Muster) {
var m = Muster.length;
var next = new Array(m-1);
var P = new Array(m-1);
for (var z = 0; z<m; z++) {
P[z] = Muster.charAt(z);
}
next[1] = 0;
var j = 0;
for (var i = 2; i<=m; i++) {
while (j>0 && P[i-1] != P[j]) {
j = next[j];
}
if (P[i-1] == P[j]) {
j = j+1;
}
next[i] = j;
}
}
return next;
}
//Hier bin ich gerade noch am Testen, es Funktioniert noch nicht ganz. Siehe Verzögerung in Funktionen
var p = 1;
function Lade1() {
var c = eval("container"+p);
_root.createEmptyMovieClip("c", p);
c._x = 19;
c._y = 36;
c.loadMovie("Symbol1.swf");
}
function Lade2() {
var c = eval("container"+p);
_root.createEmptyMovieClip("c", p);
c._x = 29;
c._y = 36;
c.loadMovie("Symbol2.swf");
p = p +1;
}

Geändert von KMP (07-01-2004 um 14:43 Uhr)
KMP ist offline   Mit Zitat antworten
Alt 09-01-2004, 10:53   #6 (permalink)
KMP
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 11
Da ich die Funktion mit einem Button anhalten möchte, haut das mit dem eine Bedingung abprüfen nicht hin.

Hat jemand von euch vielleicht noch eine Idee wie ich dieses Problem lösen könnte?

Gruß KMP
KMP ist offline   Mit Zitat antworten
Alt 09-01-2004, 11:01   #7 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
pack doch mal ein [as]-Tag um deinen quellcode.

das würde die sache zumindest schon mal übersichtlicher gestalten ;-)
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 09-01-2004, 11:12   #8 (permalink)
KMP
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 11
ActionScript:
  1. var xwert = 0;
  2. function KMP(Text, Muster) {
  3.     trace("T:"+Text+" M:"+Muster);
  4.     trace(typeof Muster);
  5.     trace(typeof Text);
  6.     var n = Text.length;
  7.     var m = Muster.length;
  8.     trace(n);
  9.     trace(m);
  10.     var L = new Array();
  11.     trace(typeof L);
  12.     // P = new Array(m-1);
  13.     var T = new Array(n-1);
  14.     var P = new Array(m-1);
  15.     trace(typeof P);
  16.     trace(typeof T);
  17.     // Array füllen
  18.     for (var y = 0; y<n; y++) {
  19.         T[y] = Text.charAt(y);
  20.         trace("Text:"+Text.charAt(y));
  21.     }
  22.     for (var z = 0; z<m; z++) {
  23.         trace("z:"+z);
  24.         P[z] = Muster.charAt(z);
  25.         trace("Zeichen:"+Muster.charAt(z));
  26.     }
  27.     var next = KMPnext(_root.muster1);
  28.     // j = 0;
  29.     var j = 0;
  30.     var v = 0;
  31.     trace(P[j+1]);
  32.     trace(typeof P[j+1]);
  33.     trace(T[j+1]);
  34.     trace(typeof T[j+1]);
  35.     for (var i = 0; i<n; i++) {
  36.         trace("i:"+i+" und j:"+j);
  37.         trace("Typ(j):"+typeof j);
  38.         trace("T[i]:"+T[i]+" P[j]:"+P[j]);
  39.         while (j>0 && T[i] != P[j]) {
  40.             _root.Lade1();
  41.             j = next[j];
  42.             trace("next:"+j+" "+next[j]);
  43.         }
  44.         if (T[i] == P[j]) {
  45. //hier findet die Animation statt (und in der while Schleife)
  46. //es werden Vergleichsymbole für die Buchstaben reingeladen.
  47.             _root.Lade2();
  48.             j = j+1;
  49.             trace("j:"+j+" Typ:"+typeof j);
  50.             xwert = xwert + 9.5;
  51.             trace("xwert" + xwert);
  52.         }
  53.         if (j == m) {
  54.             a = 1;
  55.             L[v] = i-m;
  56.             v = v+1;
  57.             j = next[j];
  58.             trace("j == m"+" "+"next:"+j+" "+next[j]);
  59.         }
  60.     }
  61.     return v;
  62. }
  63.  
  64. function KMPnext(Muster) {
  65.     trace("KMPnext wurde aufgerufen");
  66.     var m = Muster.length;
  67.     var next = new Array(m-1);
  68.     trace(typeof next);
  69.     var P = new Array(m-1);
  70.     for (var z = 0; z<m; z++) {
  71.         trace("z:"+z);
  72.         P[z] = Muster.charAt(z);
  73.         trace("Zeichen von next:"+Muster.charAt(z)+" P[z]:"+P[z]);
  74.     }
  75.     next[1] = 0;
  76.     trace("next[1]:"+next[1]);
  77.     var j = 0;
  78.     for (var i = 2; i<=m; i++) {
  79.         trace(" P[i-1]:"+P[i-1]+"  P[j]"+P[j]);
  80.         while (j>0 && P[i-1] != P[j]) {
  81.             j = next[j];
  82.             trace("(while): j:"+j);
  83.         }
  84.         if (P[i-1] == P[j]) {
  85.             j = j+1;
  86.             trace("(if): j:"+j);
  87.         }
  88.         next[i] = j;
  89.     }
  90.     // nur schauen was next ist
  91.     for (x=1; x<m+1; x++) {
  92.         trace("next:"+next[x]);
  93.     }
  94.     return next;
  95. }
  96. var a = 1;
  97. function Lade1() {
  98. //Vergleichszeichen laden
  99.     trace("Lade 1 wurde aufgerufen!!!");
  100.     this.createEmptyMovieClip("container" + a, a);
  101.     eval("container" + a)._x = 19 + xwert;
  102.     eval("container" + a)._y = 36;
  103.     eval("container" + a).loadMovie("Symbol1.swf");
  104.     a = 1;
  105. }
  106. function Lade2() {
  107. //vergleichszeichen laden
  108.     trace("Lade 2 wurde aufgerufen!!!!");
  109.     trace("a:"+a);
  110.     this.createEmptyMovieClip("container" + a, a);
  111.     eval("container" + a)._x = 29 + xwert;
  112.     eval("container" + a)._y = 36;
  113.     eval("container" + a).loadMovie("Symbol2.swf");
  114.     a = a+1;
  115. }

Ja das ist echt eine gute Idee.

Noch mal zu meiner Funktion:
abrakaberdabraaber (Text)
| (Vergleichszeichendas reingeladen wird)
aber (Muster)

Vergliechen wird ein Text mit einem Muster, und alle vorkommen des Musters im Text ausgegeben werden.
Dazu werden die Vergleichszeichen animiert (reingeladen)

Geändert von KMP (09-01-2004 um 11:32 Uhr)
KMP ist offline   Mit Zitat antworten
Alt 09-01-2004, 11:40   #9 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
Zitat:
Geschrieben von KMP
Da ich die Funktion mit einem Button anhalten möchte, haut das mit dem eine Bedingung abprüfen nicht hin.[...]
falsch
ActionScript:
  1. dein_btn.onRelease = function(){
  2. funktionStop = true;
  3. }

und nu musst nur noch die variable abfragen..

schoene gruesse
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu 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 09:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele