Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-11-2007, 10:46   #1 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
beginBitmapFill-Problem

Heya ... ich hab ein kleines Problem mit beginBitmapFill das ich nicht ganz einordnen kann ... es geht um Folgendes:

Ich habe eine Grafik:



Die möchte ich als Pattern verwenden. Dazu speicher ich die Grafik als Bitmap-Objekt und zeichne dann ein Rechteck mit beginBitmapFill + dem Btimap-Objekt das ich aus der Grafik erstellt habe.

Das Problem das ich dabei habe ist das in meinem Rechteck nicht immer die "obere Kante" der Grafik auch oben ist, zu sehen hier:

http://www.surge-oe.de/develop/bitmapfill/

Scheinbar fängt Flash beim Füllen immer beim Ursprung des Films an und nicht beim Startpunkt des dynamischen Rechtecks ... kann man das irgendwie umgehen?

Hier nochmal der Code:

PHP-Code:
import flash.display.*;

stop();

var 
mc:MovieClip       this.attachMovie("mcGrass","mc",this.getNextHighestDepth());

var 
bmpData:BitmapData = new BitmapData(mc._widthmc._heighttrue0x000000);
    
bmpData.draw(mc);
    
var 
storage:Array      = new Array(bmpData,mc._height); 

mc.removeMovieClip();

var 
sY:Number 0;
var 
w:Number  300;

while(
sY < (Stage.height-20)) {
  var 
h:Number sY+storage[1];
  
  
this.beginBitmapFill(storage[0]);
  
this.moveTo(0,sY);
  
this.lineTo(w,sY);
  
this.lineTo(w,h);
  
this.lineTo(0,h);
  
this.lineTo(0,sY);
  
  var 
mcTxt:MovieClip this.attachMovie("mcTxt","mcTxt"+this.getNextHighestDepth(),this.getNextHighestDepth());
      
mcTxt._x        Math.round(w+10);
      
mcTxt._y        Math.round(sY);
  
  
mcTxt.txt.text      "StartY: "+sY;
  
  
sY += storage[1]+10;
  
  
trace(mcTxt);
}

var 
sX:Number this.mcTxt0._x this.mcTxt0._width 10;
var 
w:Number  Stage.width-10;

this.beginBitmapFill(storage[0]);
this.moveTo(sX,0);
this.lineTo(w,0);
this.lineTo(w,Stage.height);
this.lineTo(sX,Stage.height);
this.lineTo(sX,0); 
Bzw. hänge ich die .fla auch nochmal an.
Angehängte Dateien
Dateityp: rar fillTest.rar (5,0 KB, 8x aufgerufen)
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 21-11-2007, 16:24   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Kleiner Anhang noch: Wie vermutet funktioniert das nur wenn die Startposition des zu füllenden Objekts ohne Rest durch die Höhe der Tile geteilt werden kann:

http://www.surge-oe.de/develop/bitmapfill/

Der Rest ist dementsprechend der Versatz ... scheinbar beginnt Flash wirklich ab x/y=0 zu füllen und nicht ab der Startposition die ich vorgebe.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 22-11-2007, 10:01   #3 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Die Matrix hat mich! ... hehe ... des war des Pudels Kern:

PHP-Code:
var matrix:Matrix = new Matrix(10010, (sY%tile._height));

this.beginBitmapFill(bitmap,matrix); 
Die Pattern entsprechend ihrem Versatz per Matrix verschieben.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt 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 20:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele