Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-03-2011, 12:39   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Bekomme Hintergrundbild nicht mittig in MC positioniert

Hi,

ich möchte einfach nur in einem MC ein extern zu ladendes Bild als Hintergrund einsetzen.
Diese soll dann aber noch mittig stehen.

Nur bekomme ich es einfach nicht hin.
Das Bild einladen und darstellen ist kein Problem, aber ich kann dessen unbestimmte Größe nicht auslesen und damit dieses auch nicht mittig positionieren.

Hat da einer einen Tipp für mich ?

PHP-Code:
var loader:Loader = new Loader();
var 
request:URLRequest = new URLRequest("photo.jpg");
loader.load(request);

var 
mc:MovieClip = new MovieClip();
mc.name "bgcontainer";
mc.addChild(loader);

//das geht nicht...
mc.= (stage.stageWidth 2) - (mc.width 2);
mc.= (stage.stageHeight 2) - (mc.height 2);

hintergrund.addChild(mc);

//und das auch nicht...
bgcontainer.= (stage.stageWidth 2) - (bgcontainer.width 2);
bgcontainer.= (stage.stageHeight 2) - (bgcontainer.height 2); 

Geändert von iceman_fx (23-03-2011 um 12:40 Uhr)
iceman_fx ist offline   Mit Zitat antworten
Alt 23-03-2011, 12:45   #2 (permalink)
Neuer User
 
Benutzerbild von Opi3
 
Registriert seit: Dec 2010
Beiträge: 363
wenn du verschachtelte mc's haste hast du in diesem x0 y0 am linken oberen eck des mc.
am registrations punkt.
Das erste was mir aufgefallen ist.
Viele Grüße Opi3
__________________
Es gibt 7 Milliarden Menschen und einer davon bin ich.

Eine Pizza mit r = z und dicke = a hat v = Pi*z*z*a;
Opi3 ist offline   Mit Zitat antworten
Alt 23-03-2011, 12:55   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Flash kennt die Größe des Bildes natürlich erst, wenn dieses komplett geladen wurde. Du darfst das Positionierungsscript daher erst aufrufen, wenn das zugehörige Event eintritt:
PHP-Code:
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;

var 
loader:Loader = new Loader();
var 
request:URLRequest = new URLRequest("photo.jpg");
loader.contentLoaderInfo.addEventListener(Event.COMPLETEpositionLoader);
loader.load(request);

function 
positionLoader(event:Event):void {
    
// Das Positionierungsscript

P.S.: Gibt es eigentlich irgendeinen Grund, warum Du den Loader nochmal in einen MovieClip steckst?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 23-03-2011, 13:14   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Ich ging davon aus, dass das geladene Bild kein MC ist ich es daher nicht ansprechen kann.
iceman_fx ist offline   Mit Zitat antworten
Alt 23-03-2011, 13:30   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Du hast den Loader doch in einer Variablen gespeichert? Dann kannst Du ihn doch über diese ansprechen?!

Im Übrigen gibt es auch bei einem Loader eine Eigenschaft name.

Das Ansprechen über den Namen ist aber IMHO unnötig kompliziert. Anzeigeobjekte sind Objekte wie alle anderen auch und sollten in Variablen, Arrays oder Vectoren verwaltet werden!

In AS1/2 konnte man nur mit MovieClips vernünftig arbeiten. In AS3 ist das Gott-sei-Dank anders: Hier gibt es eine Vielzahl von AnzeigeObjekten, die alle perfekt für ihren jeweiligen Anwendungszweck ausgestattet sind. MovieClips braucht man also nur noch, wenn darin wirklich Animationen enthalten sind!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 23-03-2011, 14:27   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Danke für die Info dazu.

Ich habe da gleich noch einmal ein andere Frage.
Testweise habe ich jetzt in meinen hintergrund-MC ein neues MC mit Farbfüllung eingesetzt.

Dabei wird die Größenangabe des gefüllten Rechteckes falsch interpretiert.
Gebe ich 100x100 Pixel an wird es gefühlte 600x400.

Setze ich das MC auf die stage ist es korrekt.
Gibt es dafür einen Grund bzw. weißt Du warum die Angaben falsch gewertet werden ?

PHP-Code:
            var mc:MovieClip = new MovieClip();
                
mc.name "bgcolor";
                
mc.alpha 0.85;
                
mc.enabled false;
                
mc.graphics.beginFill(parseInt(bgcolor));
                
mc.graphics.drawRect(00100100);
                
mc.graphics.endFill();
            
hintergrund.addChild(mc); 
iceman_fx ist offline   Mit Zitat antworten
Alt 23-03-2011, 14:30   #7 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Wenn dein hintergrund MC eine Verzerrung besitzt, wird er diese an seine Kinder weitergeben.
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 23-03-2011, 14:40   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Hat er eigentlich nicht gehabt.
Ich habe den jetzt einfach mal gelöscht und neu angelegt - geht jetzt wieder.

Danke
iceman_fx ist offline   Mit Zitat antworten
Alt 24-03-2011, 09:20   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Hi Martin,

das hat soweit alles gut geklappt.
Eines ist aber noch - ich würde gern dieses Hintergrundbild deaktivieren, so dass nicht der Mauszeiger (Hand) angezeigt wird.

Bisher habe ich das immer so gemacht: hintergrund.mc.enabled = false;
Dies klappt aber nicht bei dem Loaderobjekt, da meckert Flash rum.

Wie kann ich das denn beim Loaderobjekt machen ?

PHP-Code:
        function moveBGimage(event:Event):void {
            
bgloader.0;
            
bgloader.0;
            
bgloader.name "bgimage";
            
bgloader.enabled false;
            
            
hintergrund.addChild(bgloader);
                
hintergrund.325 - (hintergrund.width 2);
                
hintergrund.216.5 - (hintergrund.height 2);
                
//hintergrund.bgimage.enabled = false;
            
        

iceman_fx ist offline   Mit Zitat antworten
Alt 24-03-2011, 09:28   #10 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
In AS3 steuert man die Anzeige der Mouse-Hand über die Eigenschaft buttonMode.

P.S.: Das hier...
PHP-Code:
bgloader.name "bgimage";            
hintergrund.addChild(bgloader); 
...heißt übrigens in AS3 nicht, dass man den Loader dann so ansprechen könnte:
PHP-Code:
hintergrund.bgimage//usw... 
Wie ich oben schon angedeutet habe entspricht in AS3 die Eigenschaft name nicht mehr automatisch den Namen einer entsprechenden Variable im übergeordneten Objekt. So eine Variable muss es nicht mal geben. Du solltest stattdessen, wie gesagt, einfach mit der Variablen weiterarbeiten, über die Du den Loader eh schon die ganze Zeit ansprichst:
PHP-Code:
bgloader//usw... 
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (24-03-2011 um 09:37 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 24-03-2011, 09:32   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Aha, vielen Dank.
Klappt leider nicht: 1119: Access of possibly undefined property buttonMode through a reference with static type flash.display:Loader.

Kannst Du mir eigentlich ein gutes Buch über AS3 nennen, was auch für Einsteiger/Aufsteiger nutzbar ist und evtl. einige Beispielprojekte abhandelt ?
Aber es sollte definitiv keinen Urschleim der Flashsoftware behandeln.

Danke.

Geändert von iceman_fx (24-03-2011 um 09:36 Uhr)
iceman_fx ist offline   Mit Zitat antworten
Alt 24-03-2011, 09:46   #12 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von iceman_fx Beitrag anzeigen
Aha, vielen Dank.
Klappt leider nicht: 1119: Access of possibly undefined property buttonMode through a reference with static type flash.display:Loader.
Ich hatte überlesen, dass es sich bei dem Objekt um einen Loader handelt. Wie man in der Referenz sieht, gibt es in dieser Klasse diese Eigenschaft nicht. Deshalb dürfte sie eigentlich auch gar keinen Mousehand erzeugen?!

Zitat:
Zitat von iceman_fx Beitrag anzeigen
Kannst Du mir eigentlich ein gutes Buch über AS3 nennen, was auch für Einsteiger/Aufsteiger nutzbar ist und evtl. einige Beispielprojekte abhandelt ?
Aber es sollte definitiv keinen Urschleim der Flashsoftware behandeln.
Ich habe vor einiger Zeit mal einige Ressourcen zum Thema ActionScript/Flash zusammengefasst, darunter auch die Bücher, die ich empfehlen würde.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 24-03-2011, 09:49   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Danke für die Ressourcen - schau ich mir an.

Bzgl. des Handcursors, der kommt auch wenn ich das Loaderobject direkt auf die stage lege - liegt also nicht am Hintergrundcontainer.
Kann man das Loaderobject in ein reines Grafikobjekt oder Movieclip wandeln, so dass dann der Buttonmode wieder greifen würde ?

Denn wenn ich einen MC mit einem Hintergrund mittels beginFill und drawRect erstelle, kann ich diesen ja mittels enabled = false abschalten. Dann ist der Handcursor auch weg.

Geändert von iceman_fx (24-03-2011 um 09:59 Uhr)
iceman_fx ist offline   Mit Zitat antworten
Alt 24-03-2011, 10:00   #14 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von iceman_fx Beitrag anzeigen
Kann man das Loaderobject in ein reines Grafikobjekt wandeln, so dass dann der Buttonmode wieder greifen würde ?
Nö, aber Du kannst über die Eigenschaft content auf seinen Inhalt zugreifen.

Zitat:
Zitat von iceman_fx Beitrag anzeigen
Bzgl. des Handcursors, der kommt auch wenn ich das Loaderobject direkt auf die stage lege - liegt also nicht am Hintergrundcontainer.
Dann liegts wahrscheinlich an dem, was Du da reinlädst. Was genau ist das denn?

Wenn Du's mal mit der Holzhammermethode versuchen willst - so schaltest Du für alle Unterelement die MouseEvents aus:
PHP-Code:
bgloader.mouseChildren false;
bgloader.mouseEnabled false
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 24-03-2011, 10:02   #15 (permalink)
Neuer User
 
Registriert seit: Nov 2010
Beiträge: 52
Ich lade nur eine PNG-Datei mit Transparenzen.

PS: ich habe jetzt den großen, schweren Holzhammer genommen - klappt und reicht mir für diese Bildanzeige.
Danke.

Geändert von iceman_fx (24-03-2011 um 10:03 Uhr)
iceman_fx ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bild, breite, hintergrund, höhe, movieclip

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] film mittig mit gekacheltem hintergrundbild derfrederik Flash Einsteiger 1 27-11-2010 11:13
warum ist mittig nicht mittig? damohsta Flash Einsteiger 6 12-09-2006 02:57
[PHP/HTML] Hintergrundbild absolut mittig, das Ding der Unmöglichkeit!? Martin Laux Am Rande 7 10-12-2005 17:05
Film mittig, nicht mittig ... ???? wunderdomi HTML und CSS 11 12-10-2002 12:04
Wie bekomme ich die Grafik in allen Auflöungen Mittig und gleich gross? wunderdomi HTML und CSS 0 06-07-2001 18:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele