StageExt Klasse: resizable Filme in Flash

Die Technik Fullsize (Vorraum für Vollbild - davon später mehr) war bis vor kurzem hauptsächlich in Flash-Anwendungen (RIA) verwendet werden, machte dann eine mehr oder weniger komplexe Benutzeroberfläche, wobei der Behälter (Adobe AIR , Browser oder Standalone-Player) durch den Benutzer skaliert, zwingt eine Neupositionierung der Objekte, aus denen der Film. Die Verkleinerung des Containers offensichtlich folgt eine Zeichnung Funktion oder Aktualisieren MovieClip kann neu zu positionieren oder neu gestalten Laufzeit-Schnittstelle auf die neue Größe des Behälters. Heute wird diese Technik auch in weiter fortgeschrittenen Web-Sites, oder abwechslungsreich, extrem komfortable Unterkunft rendondo attraktive Schnittstelle verwendet. Die Umsetzung dieser Technik ist ganz einfach und nutzt im Wesentlichen das Stage-Objekt der einheimischen und eingeführten Version mit Flash MX. Für seine Umsetzung hier ist eine Klasse, um die Koordinaten des zu erhalten erlaubt Stage :

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/ **
*
* @ Datei StageExt.as
* @ Autor Giovambattista Fazioli (g.fazioli @ undolog.com)
* @ Web http://www.undolog.com
* @ @ E-Mail g.fazioli undolog.com
* /
Klasse {StageExt
/ / Veröffentlichung
__release : String = "1.0" ; private var __ Release: String = "1.0";
/ / Eigenschaften
__movieWidth : Number = 0 ; private var __ movieWidth: Anzahl = 0;
__movieHeight : Number = 0 ; private var __ movieHeight: Anzahl = 0;
__left : Number = 0 ; private var __ links: Anzahl = 0;
__right : Number = 0 ; private var __ rechts: Anzahl = 0;
__top : Number = 0 ; private var __ oben: Anzahl = 0;
__bottom : Number = 23 ; private var __ unten: Anzahl = 23;
/ /
w : Number , h : Number ) { StageExt Funktion (w: Anzahl , h: Anzahl ) {
"StageExt::constructor" ) ; trace (":: StageExt Konstruktor");
/ /
__movieWidth = w;
__movieHeight = h;
/ /
addListener ( this ) ; Bühne . addListener (this);
}
/ **
* OnResize ()-Ereignis
* /
onResize ( ) { onResize private function () {
"StageExt::onResize " + Stage . width + ", " + Stage . height ) ; trace (":: StageExt onResize" + Stufe Breite + "" +. Stufe Höhe.);
/ /
Number = Math . round ( Stage . width ) ; var SW: Anzahl = Math round (. Bühne Breite.);
Number = Math . round ( Stage . height ) ; var sh: Anzahl = Math round (. Stufe Höhe.);
Number = Math . round ( this . __movieWidth ) ; var OW: Anzahl = Math . Runde (This. __ movieWidth);
Number = Math . round ( this . __movieHeight ) ; oh var: Anzahl = Math . Runde (This. __ movieHeight);

/ / Die x-Koordinate (oben links)

__left = - Math . floor ( ( ( sw - ow ) / 2 ) ) ; . dies __ links = - Math . Etage (((sw - ow) / 2));
__top = - Math . floor ( ( ( sh - oh ) / 2 ) ) ; . dies top = __ - Math Etage (((sh - h) / 2)).;

/ / Die x-Koordinate (oben rechts)

__right = Math . round ( ( sw + ow ) / 2 ) ; . dies __ rechts = Math . round ((sw + ow) / 2);

/ / Die y-Koordinate (unten)

__bottom = Math . round ( ( sh + oh ) / 2 ) ; . dies __ unten = Math . round ((SH + O) / 2);
}
/ **
* Refresh ()
* /
Refresh ( ) { public function refresh () {
onResize ();
}
/ **
* Links - get
* /
get Left ( ) : Number { public function get Left (): Anzahl {
__left ) ; zurück (__ links);
}
/ **
* Top - get
* /
get Top ( ) : Number { public function get Top (): Anzahl {
__top ) ; zurück (__ oben);
}
/ **
* Rechts - bekommen
* /
get Right ( ) : Number { public function get Right (): Anzahl {
__right ) ; zurück (__ rechts);
}
/ **
* Bottom - bekommen
* /
get Bottom ( ) : Number { public function get Bottom (): Anzahl {
__bottom ) ; zurück (__ unten);
}
/ **
* MovieWidth - get / set
* /
get MovieWidth ( ) : Number { public function get MovieWidth (): Anzahl {
__movieWidth ) ; zurück (__ movieWidth);
}
set MovieWidth ( v : Number ) { public function set MovieWidth (v: ​​Anzahl ) {
__movieWidth = v;
}
/ **
* MovieHeight - get / set
* /
get MovieHeight ( ) : Number { public function get MovieHeight (): Anzahl {
__movieHeight ) ; zurück (__ movieHeight);
}
set MovieHeight ( v : Number ) { public function set MovieHeight (v: Anzahl ) {
__movieHeight = v;
}
}

Durch diese Klasse wird zu einem einfachen MovieClip im verlagern Stage :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
StageExt = new StageExt ( 320 , 256 ) ; var wenn StageExt = new StageExt (320, 256);
/ /
scaleMode = "noscale" ; Bühne . scaleMode = "noScale";
addListener ( this ) ; Bühne . addListener (this);
/ /
prototype . move = function ( x : Number , y : Number ) { MovieClip .. Prototyp bewegen = function (x: Anzahl , y: Anzahl ) {
_x = x ; this . _y = y ; . diese _x = x;. diese _y = y;
}
/ /
onResize function () {
"Custom Resize " + this + " - " + se . Left ) ; trace ("Custom Resize" + + Diese "-" + wenn Linke.);
/ / Clip_mc._x = se.Left;
/ / Clip_mc._y = se.Top;
se . Left , se . Top ) ; . clip_mc move (if. verlassen, obwohl Top.);
}

Im Beispiel ist die Größe der Stage Originale sind 320 × 256. Diese sollten einbezogen und berücksichtigt werden als Flash-Modus noScale zentriert den Film innerhalb des Browsers. ; OBJECT ed EMBED . Auch in der HTML als 100% Größe gesetzt werden muss, ist die Eröffnung width für die " heght ; OBJECT und EMBED .

Auch notwendig, um die Hierarchie der MovieClip in geeigneter Weise zu organisieren und immer bedenken, dass die Position eines MovieClip diventra Stunden "on".

3 Kommentare zu "StageExt Klasse: resizable Filme in Flash"

  1. 12. Dezember 2007 undolog »Blog Archive» Vollbild-Flash im Browser :

    [...] Der Code, um das Vollbild eingestellt ist sehr einfach und nutzt die Vorteile des Stage-Objekts in diesem Blog StageExt Klasse diskutiert: resizable Flash-Filme: Klartext Actionscript: [...]

  2. 14. Dezember 2008 Larry:

    Hallo,
    eine Frage: Wo soll ich diese zwei Skripte?

    Thank you,
    G.

  3. 15. Dezember 2008 Giovambattista Fazioli :

    @ Larry:

    Hallo,
    Frage: Wo soll ich diese zwei Skripte Thank you,
    G.

    Die erste "Quelle" ist eine Klasse, die Sie überall platzieren können in Ihrem Code durch Bildung include . Die zweite Quelle ist ein Beispiel für seine Verwendung. Siehe Actionscript 3.0 für Anfänger: Lektion # 1 auf, wie Sie ein einfaches Projekt in Flash.

Hinterlasse einen Kommentar

TAG XHTML Papiere: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Platzhalter-Codes:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Stop SOPA