Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Flash/Actionscript]Pixelmanipulatie of setMask gebruiken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben enkele avonden bezig geweest om een bepaald probleem op te lossen.

Ik heb een programma waarmee dynamisch een of meerdere cirkels worden getekend, elke cirkel heeft een andere depth (1 --> oneindig). Daarnaast wordt er dynamisch een figuur op het scherm getekend, die in een movieclip wordt getekend op depth 200000. Zowel de cirkels als het figuur worden m.b.v. createEmptyMovieclip op het scherm getekend.

Scoop van de cirkel is:
visualisation_MC.canvas.circle1

Scoop van het figuur is:
visualisation_MC.canvas.noPlottingArea

Nu is het de bedoeling dat het figuur, dat overigens niet zichtbaar mag zijn op het scherm, fungeert als een mask t.o.v. die cirkels. Waar het figuur de cirkels overlappen, moet een hap uit de cirkel worden genomen.

Ik heb het probleem geprobeerd op te lossen met onderstaand statement, echter krijg ik het hiermee niet voor elkaar.
code:
1
visualisation_MC.canvas.circle3.setMask(visualisation_MC.canvas.noPlottingArea);

(circle3 wordt hier natuurlijk even als voorbeeld gebruikt)

Ik heb ook gekeken naar een andere oplossing en dat had meer te maken met pixelmanipulatie, echter kreeg ik dit ook niet voor elkaar. Ik heb zowel de cirkels als het figuur in een tijdelijke "bitmapmovie" geplaatst, maar kon geen bewerken dingen doen op individuele pixels. Ik kon individuele pixels overigens wel uitlezen, maar niet transparant maken of van kleur laten veranderen.

De code om het figuur tijdelijk in een "bitmapmovie" te plaatsen.
code:
1
2
3
var areaBitmap = new flash.display.BitmapData(720, 720, true, 0); // Bitmap
areaBitmap.draw(visualisation_MC.canvas.noPlottingArea); // Tijdelijk in bitmap
areaBitmap.getPixel(); //De enige bewerking die wel lukte


Wie weet een oplossing voor 1 of beide opties die ik heb geprobeerd, of heb ik misschien toch iets over het hoofd gezien.

[ Voor 3% gewijzigd door Verwijderd op 19-10-2007 23:28 ]


Verwijderd

Topicstarter
Al iemand die het weet?

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 27-10 15:31
Waarom kan je eigenlijk geen pixel schrijven? error?

Want "setPixel32(x:Number, y:Number, color:Number) : Void" moet kunnen volgens de handleiding

voorbeeldje:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var img_bmp = new flash.display.BitmapData(256,256,true);
for ( var y:Number=0; y<256; y++ ) {
        for ( var x:Number=0; x<256; x++ ) {
                var a:Number = y;
                var r:Number = x;
                var g:Number = 256-x;
                var b:Number = 256-y;
                var c:Number = (a<<24)|(r<<16)|(g<<8)|(b<<0);
                img_bmp.setPixel32(x,y,c);
        }
}
 
_root.createEmptyMovieClip("bmp", 1);
_root.bmp.attachBitmap(img_bmp, 2);


Nog een voorbeeldje setpixel http://www.protozoo.com/?p=176

[ Voor 5% gewijzigd door djexplo op 21-10-2007 11:57 ]

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

ik wil eigenlijk wel wat meer weten van wat je nu precies probeert, en waarom zet je je tekening niet in de scope van de cirkel?

Stoer; Marduq