Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-04-2006, 14:30   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 29
mc skalierung

halli hallo,
ich mal wieder.
steh gerade vor folgendem problem oder idee?
zur erläuterung meines skriptes:
ich erstelle einen mc und lade ein foto hinein, welches
aus einem pool mit einer bestimmten anzahl von fotos stammt, welche von 1 bis … durchnummeriert sind. außerdem skaliere ich die fotos bzw. den mc
über _x/yscale. das funktioniert auch ganz schön, solange meine fotos alle
die gleichen maße besitzen.
jetzt hätte ich aber gerne, daß ich fotos jeglicher größe auf eine bestimmte breite (sagen wir 300px) skaliere, es aber in seinen proportionen gleich bleibt. sprich: der user wirft fotos beliebiger größe in einen ordner, diese
werden in einen mc geladen und do skaliert (oder der mc), daß sie max. 300 px breit sind!
bisher hab ich hier im forum nichts passendes gefunden.


hier mein bisheriges skript ohne die angesprochene funktion:

PHP-Code:
stop()
var 
i:Number 0

this
.createEmptyMovieClip("container_mc"1);
container_mc._x 350;
container_mc._y 180;
container_mc._xscale 60;
container_mc._yscale 60;

container_mc.loadMovie("start.jpg");


forward_btn.onRelease = function() {
if (
i<24) {
++
i
container_mc.loadMovie(i+".jpg");
}
};


rewind_btn.onRelease = function() {
if (
i>1) {
--
i;
container_mc.loadMovie(i+".jpg");
}
}; 

eine idee von mir war, die breite des mc, in dem sich ein geladenes bild befindet, abzufragen, dann innerhalb einer schleife, sich mittels einer variablen (oder array?) (welche für werte von 1-3000 oder so steht) durch subtraktion an den wert 300 anzutasten. also im ersten durchgang wird der wert 1 subtrahiert, dann 2 und so weiter, bis man 300 erreicht.
allerdings ist dann die höhe noch nicht geändert, und schließlich soll ja proportional skaliert werden.

leider sind meine as-kenntnisse beschränkt, aber vielleicht hat jemand von euch dazu eine idee?

grüße,
bootsmann
bootsmann ist offline   Mit Zitat antworten
Alt 06-04-2006, 15:29   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!
Kannst du erst einstellen, wenn das Bild komplett geladen ist:
PHP-Code:
this.createEmptyMovieClip("mc"1);
var 
mcl = new MovieClipLoader();
var 
ml = {};
ml.onLoadInit = function(obj) {
    if (
obj._width>300) {
        
obj._width 300;
        
obj._yscale obj._xscale;
    } else if (
obj._height>300) {
        
obj._height 300;
        
obj._xscale obj._yscale;
    }
};
mcl.addListener(ml);
mcl.loadClip("dein.jpg"mc); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-04-2006, 15:47   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 29
oh man,
da muß man ja garnich selbst denken!
ich hab schon versucht formeln aufzustellen …

schönen dank schonmal,
und schönes wochenende, falls ich nicht nochmal fragen habe!
bootsmann ist offline   Mit Zitat antworten
Alt 07-04-2006, 15:27   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 29
oh,
hab gerade erst gemerkt, daß das skript nur mit flashplayer 8
läuft! kann man sowas auch für version 6 schreiben?
bootsmann ist offline   Mit Zitat antworten
Alt 07-04-2006, 15:33   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das sollte auch in Flash 7 laufen. Aber ansonsten so:
PHP-Code:
this.createEmptyMovieClip("mc"1);
this.createEmptyMovieClip("watcher"2);
this.watcher.onEnterFrame = function() {
    var 
obj this._parent.mc;
    if (
obj._width>0) {
        if (
obj._width>300) {
            
obj._width 300;
            
obj._yscale obj._xscale;
        } else if (
obj._height>300) {
            
obj._height 300;
            
obj._xscale obj._yscale;
        }
        
removeMovieClip(this);
    }
};
this.mc.loadMovie("dein.jpg"); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 22:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele