Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-01-2004, 16:30   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
_height & _width

moins,

ich hab nen mc _height=100 _width=100

jetzt möchte ich den mx skalieren lassen und zwar in folgender form:
100;101,102,103.... also immer zu der jeweiligen größe 1 px dazu addieren, bis der wert _height=200 _width=200 erfüllt ist

wie müßte das script aussehen??

besten dank für antwort

jerry
jerry ist offline   Mit Zitat antworten
Alt 24-01-2004, 16:54   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
ActionScript:
  1. while (this._width < 200 && this._height < 200) {
  2. this._width += 1;
  3. this._height += 1;
  4. }
MacEvil ist offline   Mit Zitat antworten
Alt 25-01-2004, 11:39   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
while wird innerhalb eines frames ausgeführt
danach wird gerendert und du wirst nur den wechsel von originalzustand auf 200,200 zustand sehen
besser nen onEnterFrame verwenden

zum while rumpf: sobald die kantenlängen sich nicht mehr entsprechen wird nurnoch eine seite die 200 erreichen(die kürzere) und die längere wird übers ziel hinausschiessen.

die bedingungen einzeln abfragen:
ActionScript:
  1. PfadZuDeinemMC.onEnterFrame=function(){
  2.  if(this._height<200) this._height++
  3.  if(this._width<200) this._width++
  4. }

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 25-01-2004, 14:39   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

jo funktioniert- danke!

aber mein problem macht mir einfach zu schaffen, ich bekomme schon graue haare

ich hab mal die fla mitgeschickt

ich bekomme es nicht hin, das film eins sich an der oberen linken ecke von film 2 ausrichtet.

wäre nett wenn du mal nen auge drauf werfen könntest, ich hab alles probiert was mir so eingefallen ist- reicht leider nicht

danke jerry
Angehängte Dateien
Dateityp: zip scale.zip (4,8 KB, 7x aufgerufen)
jerry ist offline   Mit Zitat antworten
Alt 25-01-2004, 15:26   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

sorry falsches zip rangehängt ;-(


hier richtige:
Angehängte Dateien
Dateityp: zip scale2.zip (7,6 KB, 10x aufgerufen)
jerry ist offline   Mit Zitat antworten
Alt 25-01-2004, 17:36   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
"unerwartetes dateiformat" in mx
mx2004?

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 25-01-2004, 18:22   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
?

habe mal ne mx version gebastelt



mx version:





jerry
Angehängte Dateien
Dateityp: zip scale mx.zip (3,1 KB, 16x aufgerufen)

Geändert von jerry (25-01-2004 um 21:00 Uhr)
jerry ist offline   Mit Zitat antworten
Alt 26-01-2004, 10:32   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

doch schwieriger als man denkt !?

jerry
jerry ist offline   Mit Zitat antworten
Alt 26-01-2004, 13:44   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
doch nicht so oft da wie du denkst?!
und boah hast du nen eigenes verständis von AS gebildet.
es gibt sowas wie relative pfad, da musste nicht immer vom _root ausgehen
und warum 2 enterFrame events?

bei dir gehts nicht durch das ganze runden
die sache geht gegen ende der annäherung sowieso sehr ungenau und da du schon im voraus das so krass beschneidest konnte des nix werden

auf den kleinen:
ActionScript:
  1. onClipEvent (enterFrame) {
  2. //points
  3. p = {x:_parent.weiss.a._x, y:_parent.weiss.a._y};
  4. _parent.weiss.localToGlobal(p);
  5.  
  6.  
  7. //slide x
  8. //irgendwann ist die noch ausstehende differenz zum
  9. //zielpunkt zu klein dann bleibt die enfternung konstant obwohl
  10. //das objekt noch garnicht beim ziel ist
  11. //abhilfe schafft ne abfrage ob das objekt noch mehr als 1px
  12. //enfternt ist
  13. //falls nicht werden die zielkoordinaten direkt zugewiesen
  14. if(Math.abs(p.x-this._x)>1) {
  15.   this._x+=(p.x-this._x)/10
  16. }else{
  17.   this._x=p.x
  18. }
  19.  
  20. //analog dazu
  21. //slide y
  22. if(Math.abs(p.y-this._y)>1){
  23.   this._y+=(p.y-this._y)/10
  24. }else{
  25.   this._y=p.y
  26. }
  27. }

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 26-01-2004, 14:24   #10 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

ja ich weiß mein as verständnis läßt zu wünschen übrig, man könnte auch sagen ich bin ne as 0.
ich quäle mich immer mehr schlecht als recht durch die materie, dafür ist das was am ende raus kommt geil.
ich zeig dir gerne die seite wenn se fertig wird.

bis hierhin erstmal aller besten dank !

jerry
jerry ist offline   Mit Zitat antworten
Alt 26-01-2004, 15:40   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Beiträge: 405
re

jo das script funktioniert, nur leider ergabs sich daraus nen neues problemchen.


mein ursprüngliches script:

onClipEvent (enterFrame) {
_root.menu.diff = _root.menu.sectiony-_root.menu._y;
_root.menu._y += (Math.floor(Math.round(_root.menu.diff/10)));
_root.menu.diff = _root.menu.sectionx-_root.menu._x;
_root.menu._x += (Math.floor(Math.round(_root.menu.diff/10)));
}


hatte die goldene eigenschaft, dass pixelfonts die inerhalb dieses filmes platziert wurden IMMER sauber dargestellt wurden.

da du bei deinem script auf Math.floor Math.round verzichtet hat ergibt sich nun, das pixelfonts unscharf dargestellt werden.

nun wollte ich dich fragen ob es die möglichkeit gibt das mit in deinem script einzubauen???

(ich habs natürlich selber schon versucht- aber naja das resultat kannst du dir ja vorstellen- am ende hat sich nix mehr bewegt ;-)

besten dank jerry
jerry ist offline   Mit Zitat antworten
Alt 25-04-2004, 12:16   #12 (permalink)
beo
Neuer User
 
Registriert seit: May 2003
Ort: Münsingen
Beiträge: 52
Zitat:
Geschrieben von Deluxe
doch nicht so oft da wie du denkst?!
und boah hast du nen eigenes verständis von AS gebildet.
es gibt sowas wie relative pfad, da musste nicht immer vom _root ausgehen
und warum 2 enterFrame events?

bei dir gehts nicht durch das ganze runden
die sache geht gegen ende der annäherung sowieso sehr ungenau und da du schon im voraus das so krass beschneidest konnte des nix werden

auf den kleinen:
ActionScript:
  1. onClipEvent (enterFrame) {
  2. //points
  3. p = {x:_parent.weiss.a._x, y:_parent.weiss.a._y};
  4. _parent.weiss.localToGlobal(p);
  5.  
  6.  
  7. //slide x
  8. //irgendwann ist die noch ausstehende differenz zum
  9. //zielpunkt zu klein dann bleibt die enfternung konstant obwohl
  10. //das objekt noch garnicht beim ziel ist
  11. //abhilfe schafft ne abfrage ob das objekt noch mehr als 1px
  12. //enfternt ist
  13. //falls nicht werden die zielkoordinaten direkt zugewiesen
  14. if(Math.abs(p.x-this._x)>1) {
  15.   this._x+=(p.x-this._x)/10
  16. }else{
  17.   this._x=p.x
  18. }
  19.  
  20. //analog dazu
  21. //slide y
  22. if(Math.abs(p.y-this._y)>1){
  23.   this._y+=(p.y-this._y)/10
  24. }else{
  25.   this._y=p.y
  26. }
  27. }

deluxe

Hi Deluxe, wie kann ich variabele swf in bestimmter größe in swf laden?
Ich glauge du kannst das ?

Gruß beo
beo ist offline   Mit Zitat antworten
Alt 25-04-2004, 20:48   #13 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
ich denke mal preloaden sollte kein problem sein.
in den rumpf der abfrage ob das swf fertiggeladen wurde musste nun nurnoch deine höhe und breite festlegen.

ums mal weniger theoretisch zu halten:
angenommen im root liegt ein mc, nennen wir ihn container
dort lädst du deine swf rein
dann kannste zB nach dem loadMovie aufruf solch` einen preloader initialisieren:
ActionScript:
  1. //preloader
  2. //ausgelößt zB nach dem ladeaufruf
  3. //befindet sich im root
  4. this.onEnterFrame=function(){
  5. //geladen?
  6. var loaded=this.container.getBytesLoaded()>=this.container.getBytestotal()
  7. //ist die anfrage überhaupt schon raus?
  8. //nach dem aufruf loadMovie werden height und width attribute
  9. //auf null gesetzt, und erst wenn die ersten daten empfangen
  10. //werden sind die neuen größenattribute>0. daher diese abfrage
  11. var anfrageRaus=this.container._height>0
  12. //oder
  13. //var anfrageRaus=this.container.getBytesTotal()>100
  14. if(loaded && anfrageRaus){
  15.   //fertiggeladen
  16.   //du kannst auch schon setzen sobald anfrageRaus==true ist
  17.   //nur ist es so ein wenig geordneter
  18.   this.container._height=werth
  19.   this.container._width=wertw
  20. //diesen enterFrame löschen um unnötiges weiterlaufen zu verhindern
  21. delete this.onEnterFrame
  22. }
  23. }
bin ein wenig eingerostet in sachen flash
könnte also fehler enthalten

deluxe
Deluxe 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 23:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele