Flashhilfe.de - Flash Community

endloss wolken erzeugen [Flash 9]

 


AntwortenRegistrieren Seite1  

skoda#1
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

27.10.2009, 17:44

ich versuche mit dem folgenden code wolken von links nach rechts gleiten zu lassen - geht auch nur wenn se ganz rechts sind wuerde ich sie gerne wieder nach links setzen das es endloss wird


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var anzahl = 25;
for (var i=1;i<anzahl;i++){
   var asto = this.attachMovie("a"+i, "asto"+i, this.getNextHighestDepth());
   asto.ID = i;
   asto._x = 50 + random(600);
   asto._y = 50 + random(30);
   asto.speed = .1 + (random(10)/105);
   
   asto.onEnterFrame = function(){
      this._x += this.speed;
      trace(this._x);

      }
   
   //if (["asto"+i]._x <= 885) {
if (this._x <= 885) {
      trace("MOVE BACK");

    //this._x = -85;
      
      }
}


geht aber so nicht wriklich
any idea?
no one died when clinton lied
vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

27.10.2009, 19:05

Hallo skoda,

schreib doch einfach deine Abfrage
ActionScript:
1
2
3
4
if (this._x <= 885) {
      trace("MOVE BACK");
  /this._x = -85;
      }

in deine onEnterFrame Funktion - dann wird diese auch fortlaufend ausgeführt ;)
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
Tassadar#3
Benutzerbild von Tassadar
Beiträge: 117
Registriert: Aug 2007

27.10.2009, 19:15

wenn ich sowas gemacht habe, hatte ich 2 identische bilder hintereinander gelegt.
skoda#4
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

Themenautor/in

27.10.2009, 20:54

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
25
26
27
28
29
30
31
32
33
var anzahl = 25;
for (var i=1;i<anzahl;i++){
   var asto = this.attachMovie("a"+i, "asto"+i, this.getNextHighestDepth());
   asto.ID = i;
   asto._x = 50 + random(600);
   asto._y = 50 + random(30);
   
   var size1 = Math.floor(random(100));
   asto._xscale = size1;
      asto._yscale = size1;
   
   
   asto.speed = 1 + (random(10)/105);
   
   
   
   
   asto.onEnterFrame = function(){
      this._x += this.speed;
      trace(this._x);
      
      if (this._x >= 900 ) {
          this._x = -120;
         
         
         
         }

       
      }
   
   
}



habs nun so

erweiterte frage

- nach dem ersten durchflauf sezt er die pos und anzahlen fest
nun nach dem die schosse auf der einen seite verschwindet waers ganz nett wenn nicht die gleiche anzahl, groesse usw gleich weider daher kommt >

jmd ne idee wie ich die objecte manipulieren kann nachdem sie versetzt werden ?
das es net so gleich aussieht ?
no one died when clinton lied
vindel#5
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

27.10.2009, 21:12

naja, dann einfach in deiner If-Bedingung:

ActionScript:
1
2
3
4
5
6
if (this._x >= 900 ) {
          this._x = -120;
var size1 = Math.floor(random(100));
  this._xscale = size1;
      this._yscale = size1;
}

das noch hinzu fügen
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
skoda#6
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

Themenautor/in

27.10.2009, 21:39

ok nur wie beeinfluss ich die anzahl der zu erscheinenden objecte?

var anzahl = 25; nochmals in der if definieren geht nischt ?

er soll praktisch wenn if == true wird auch die anzahl updaten und aendern ?
no one died when clinton lied
Sleepingbeast#7
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

28.10.2009, 08:54

Grüß dich skoda,

ich konnte mich doch dunkel erinnern, dass Clodia hier sowas in der Art schonmal gefragt hatte. Vielleicht hilft dir ihr damaliger Beitrag weiter. http://flashhilfe.de/forum/flash/wolken-ruckelfrei-abspielen-259122-259122.html


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
Sebastian#8
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

28.10.2009, 10:05

Der Beitrag wird übrigens auch unter "Ähnliche Themen" direkt hier auf der Seite angezeigt.
*es funktioniert* :-)
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
skoda#9
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

Themenautor/in

28.10.2009, 13:43

danke -
is fast was ich bracuhe !!

hab nur den anderen beitrag gefunden wo es um n jpg geht das auch wolken animiert
deshalb hab och nimma so genau hingeguckt

THX
no one died when clinton lied
skoda#10
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

Themenautor/in

28.10.2009, 14:24

die anzahl der wolken ist aber trotz dem noch die gleiche

wie gehts dann das bei jedem durchlauf die anzahl veraendert wird ?

also einmal 3 wolken einmal 5 einmal 1

vlt mit nem array ?
no one died when clinton lied
skoda#11
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

Themenautor/in

28.10.2009, 15:47

noch ne frage

die wolken werden ja hier im script dynamisch erstellt
nun
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
25
26
27
28
29
30
31
32
33
34
35
36
37
var cloudHight = 0;
var anzahl = 25;
for (var i=1;i<anzahl;i++){
   //var asto = this.attachMovie("a"+i, "asto"+i, this.getNextHighestDepth());
   var asto = this.attachMovie("a"+i, "asto"+i, cloudHight-100);
   asto.ID = i;
   asto._x = 50 + random(600);
   asto._y = 50 + random(30);
   
   var size1 = Math.floor(random(100));
   asto._xscale = size1;
      asto._yscale = size1;
   
   
   asto.speed = 1 + (random(10)/105);
   
   
   
   
   asto.onEnterFrame = function(){
      this._x += this.speed;
      trace(this._x);
      
      if (this._x >= 900 ) {
          this._x = -120;
         var size1 = Math.floor(random(100));
  this._xscale = size1;
      this._yscale = size1;
         
         
         }

       
      }
   
   
}



wenn ich die so erstelle sind sie ueber allem im _level und das fadenkreuz zb ist unter den wolken

wenn ich aber getNextHighestDepth() mit nem negativen _level ersetze erstellt er nur eine wolke
anstatt mehreren???
warum det ???

ActionScript:
1
2
//var asto = this.attachMovie("a"+i, "asto"+i, this.getNextHighestDepth());
   var asto = this.attachMovie("a"+i, "asto"+i, -100);




EDIT:
ok so gehts

ActionScript:
1var asto = this.attachMovie("a"+i, "asto"+i, cloudHight+i);
no one died when clinton lied
Geändert von skoda am 28.10.09 um 15:51 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de