Beginnend mit den Codes versehen in Flash CS3 Erstellen Sie eine Farbe und Durchführung kleinerer Änderungen, erheblich verbessern kann das Instrument der "löschen". Hinzufügen einer Form nicht sichtbar ist, können Sie es als einen "Plan" zu verwenden, um den Lauf draw() Mischmodus "löschen". Wie im Beispiel unten gezeigt, nach der Zeichnung etwas, halten Sie die Strg-Taste und die Wirkung der "Annullierung" ist jetzt in Echtzeit.
Der Code wird wie folgt - Quelle :
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 | . MouseEvent ; Import flash.events. MouseEvent ; . BitmapData ; Import flash.display. BitmapData ; . Bitmap ; Import flash.display. Bitmaps ; . GradientType ; . import flash.display GradientType ; / / . Matrix ; flash.geom Importe. Matrix ; / / Boolean = false ; md var: Boolean = false; / / Sprite = new Sprite ( ) ; var event_spr: Sprite = new Sprite (); event_spr ) ; addChild (event_spr); / / Number = event_spr . stage . stageWidth ; var area_width: Anzahl = event_spr Praktika stageWidth;.. Number = event_spr . stage . stageHeight - 32 ; var area_height: Anzahl .. = event_spr Praktika stageHeight - 32; / / String = GradientType . LINEAR ; fillType var: String = GradientType . LINEAR; : Array = [ 0xFF0000 , 0x00FF00 , 0x0000ff ] ; var Farben: Array = [0xFF0000, 0x00FF00, 0x0000FF]; : Array = [ 1 , 1 , 1 ] ; var alphas: Array = [1, 1, 1]; : Array = [ 0 , 128 , 255 ] ; var ratios: Array = [0, 128, 255]; String = SpreadMethod . PAD ; spreadMethod var: String = SpreadMethod PAD;. : Matrix = new Matrix ( ) ; var matrix: Matrix = new Matrix (); createGradientBox ( area_width , area_height , 1 , 0 , 0 ) ; . Matrix createGradientBox (area_width, area_height, 1, 0, 0); / / event_spr . graphics ) { mit (event_spr. Grafiken) { fillType , colors , alphas , ratios , matrix , spreadMethod ) ; beginGradientFill (fillType, Farben, Alphas, Verhältnisse, Matrix, spreadMethod); 0 , 0 , area_width , area_height ) ; drawRect (0, 0, area_width, area_height); ; endFill (); } / / Paint-Ereignis ( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . event_spr addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.); ( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . event_spr addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.); ( MouseEvent . MOUSE_UP , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.); ( MouseEvent . MOUSE_OUT , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_OUT, _onMouseUp.); / / BitmapData = new BitmapData ( event_spr . width , event_spr . height , true , 0 ) ; var bmpd: BitmapData = new BitmapData (event_spr. Breite, Höhe event_spr, true, 0.); Bitmap = new Bitmap ( bmpd ) ; var bmp: Bitmap = new Bitmap (bmpd); bmp ) ; addChild (bmp); / / / / Temporäre Form Shape = new Shape ( ) ; var draw_shape: Form = new Form (); draw_shape ) ; addChild (draw_shape); / / / / Shape nicht sichtbar ist, verwendet für die "Stornierung" Shape = new Shape ( ) ; var erase_shape: Form = new Form (); / / e : MouseEvent ) : void { _onMouseDown Funktion (e: MouseEvent ): void { ) ; debug ("_onMouseDown"); . lineStyle ( 10 , 0xffffff , 1 ) ; .. draw_shape Grafiken lineStyle (10, 0xffffff, 1); . lineStyle ( 20 , 0xffffff , 1 ) ; .. erase_shape Grafiken lineStyle (20, 0xffffff, 1); . moveTo ( e . localX , e . localY ) ; .. draw_shape Grafiken moveTo (and. localX und localY.); . moveTo ( e . localX , e . localY ) ; .. erase_shape Grafiken moveTo (and. localX und localY.); md = true; } / / e : MouseEvent ) : void { _onMouseUp Funktion (e: MouseEvent ): void { md = false; . draw ( draw_shape ) ; .. bmp bitmapData draw (draw_shape); . clear ( ) ; . draw_shape Grafiken clear ().; . clear ( ) ; . erase_shape Grafiken clear ().; } / / e : MouseEvent ) : void { _onMouseMove Funktion (e: MouseEvent ): void { ) ; debug ("_onMouseMove"); md && ! e . ctrlKey ) { if (md & &! und. ctrlKey) { . lineTo ( e . localX , e . localY ) ; .. draw_shape Grafiken lineTo (and. localX und localY.); ( md && e . ctrlKey ) { } Else if (md & & und. CtrlKey) { . lineTo ( e . localX , e . localY ) ; .. erase_shape Grafiken lineTo (and. localX und localY.); . draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "löschen")..; } } / / v : String ) : void { Funktion debug (v: String ): void { : Date = new Date ( ) ; var d: Date = new Date (); d . getMinutes ( ) + ":" + d . getSeconds ( ) + ":" + d . getMilliseconds ( ) + ": " + v ) ; trace (d. getMinutes () + "" + d. getSeconds () + "" + d. getMilliseconds () + "" + st); } |
): Wir haben eine neue Form, fügte erase_shape nicht sichtbar (es war nicht jedem durchgeführt addChild() ):
1 2 3 |
Das Stück Code, das kümmert Zeichnung wurde für die Steuer-Taste eingeführt und, wenn diese Taste gedrückt, ist daran interessiert, genau die Form erase_shape und kopiert die Bitmap:
1 2 3 | .... . lineTo ( e . localX , e . localY ) ; .. erase_shape Grafiken lineTo (and. localX und localY.); . draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "löschen")..; |







Neueste Kommentare
Simon : Es ärgert gestört wieder ein und verwenden, die Platz für diese Dinge ... aber es funktioniert nicht ...
Giovambattista Fazioli : @ Simon: Was könnte darauf zurückzuführen sein, die Syntax, die ich verwendet, die speziell für PHP 5 +,...
Simon : Ich habe versucht gestern Abend, alles in functions.php, okay, jquery Formulare und Tabs jQueryUI ihnen ...
Giovambattista Fazioli : @ Simon: Ich empfehle Reinigung zu einem Code wie in ein ...
Simon : @ Giovambattista Fazioli: Vielen Dank für Ihre Geduld, es ist alles klar ... jetzt fühle ich mich jetzt ...