Maalaus Flash CS3: reaaliajassa tyhjentää työkalu

Maanantai, helmikuu 11, 2008

Rakennus-koodit annetaan luominen Paint Flash CS3, ja näkyä pieniä muutoksia, voimme parantaa huomattavasti väline, jolla voidaan "poistaa". Lisäämällä Muoto ei ole näkyvissä, voit käyttää sitä kuin "suunnitelma" Suorita draw ()-tilassa, että sulautuminen "tyhjentää". Kuten näkyy alla oleva esimerkki, ottaa suunniteltu jotain, pidä Ctrl-näppäintä alhaalla ja vaikutus "peruutus" on nyt reaaliajassa.

Loading Flash Player ...

Koodi on seuraava: - lähde:

ActionScript:
  1. . MouseEvent ; tuonti flash. tapahtumia. MouseEvent;
  2. . BitmapData ; tuonti flash. näytössä. BitmapData;
  3. . Bitmap ; tuonti flash. näytössä. Bitmap;
  4. . GradientType ; tuonti flash. näytössä. GradientType;
  5. / /
  6. . Matrix ; tuonti flash. geom. Matrix;
  7. / /
  8. = false ; var md: Boolean = false;
  9. / /
  10. Sprite ( ) ; var event_spr: Sprite = new Sprite ();
  11. ; addChild (event_spr);
  12. / /
  13. = event_spr. stage . stageWidth ; var area_width: Number = event_spr. näyttämöllä. stageWidth;
  14. = event_spr. stage . stageHeight - 32 ; var area_height: Number = event_spr. näyttämöllä. stageHeight - 32;
  15. / /
  16. = GradientType. LINEAR ; var fillType: String = GradientType. lineaarisesti,
  17. = [ 0xFF0000, 0x00FF00, 0x0000ff ] ; var värit: Array = [0xFF0000, 0x00FF00, 0x0000ff];
  18. = [ 1 , 1 , 1 ] ; var Alpha: Array = [1, 1, 1];
  19. = [ 0 , 128 , 255 ] ; var suhdeluvut: Array = [0, 128, 255];
  20. = SpreadMethod. PAD ; var spreadMethod: String = SpreadMethod. PAD;
  21. Matrix ( ) ; var matriisi: Matrix = new Matrix ();
  22. area_width, area_height, 1 , 0 , 0 ) ; matriisi. createGradientBox (area_width, area_height, 1, 0, 0);
  23. / /
  24. event_spr. graphics ) { kanssa (event_spr. grafiikkaa) (
  25. fillType,colors,alphas,ratios,matrix,spreadMethod ) ; beginGradientFill (fillType, värit, Alpha, suhdeluvut, matriisi, spreadMethod);
  26. , 0 ,area_width, area_height ) ; drawRect (0, 0, area_width, area_height);
  27. ; endFill ();
  28. )
  29. / / Paint-tapahtuma
  30. MouseEvent. MOUSE_DOWN , _onMouseDown ) ; event_spr. addEventListener (MouseEvent. MOUSE_DOWN, _onMouseDown);
  31. MouseEvent. MOUSE_MOVE , _onMouseMove ) ; event_spr. addEventListener (MouseEvent. MOUSE_MOVE, _onMouseMove);
  32. MouseEvent. MOUSE_UP , _onMouseUp ) ; event_spr. addEventListener (MouseEvent. MOUSE_UP, _onMouseUp);
  33. MouseEvent. MOUSE_OUT , _onMouseUp ) ; event_spr. addEventListener (MouseEvent. MOUSE_OUT, _onMouseUp);
  34. / /
  35. BitmapData ( event_spr. width ,event_spr. height , true , 0 ) ; var bmpd: BitmapData = new BitmapData (event_spr. leveys, event_spr. korkeus, totta, 0);
  36. Bitmap ( bmpd ) ; var bmp: Bitmap = new Bitmap (bmpd);
  37. ; addChild (BMP);
  38. / /
  39. / / Väliaikainen Shape
  40. Shape ( ) ; var draw_shape: muoto = new Shape ();
  41. ; addChild (draw_shape);
  42. / /
  43. / / Muoto, ei ole näkyvissä, käytetään "Poisto"
  44. Shape ( ) ; var erase_shape: muoto = new Shape ();
  45. / /
  46. e :MouseEvent ) : void { _onMouseDown toiminto (e: MouseEvent): void (
  47. ) ; debug ( "_onMouseDown");
  48. ( 10 , 0xffffff, 1 ) ; draw_shape. grafiikkaa. lineStyle (10, 0xFFFFFF, 1);
  49. ( 20 , 0xffffff, 1 ) ; erase_shape. grafiikkaa. lineStyle (20, 0xFFFFFF, 1);
  50. ( e . localX , e . localY ) ; draw_shape. grafiikkaa. moveTo (and. localX, ja. localY);
  51. ( e . localX , e . localY ) ; erase_shape. grafiikkaa. moveTo (and. localX, ja. localY);
  52. MD = true;
  53. )
  54. / /
  55. e :MouseEvent ) : void { _onMouseUp toiminto (e: MouseEvent): void (
  56. MD = false;
  57. ( draw_shape ) ; bmp. bitmapData. draw (draw_shape);
  58. ( ) ; draw_shape. grafiikkaa. selkeät ();
  59. ( ) ; erase_shape. grafiikkaa. selkeät ();
  60. )
  61. / /
  62. e :MouseEvent ) : void { _onMouseMove toiminto (e: MouseEvent): void (
  63. ) ; debug ( "_onMouseMove");
  64. md && ! e . ctrlKey ) { if (MD & &!. ctrlKey) (
  65. ( e . localX , e . localY ) ; draw_shape. grafiikkaa. lineTo (and. localX, ja. localY);
  66. ( md && e . ctrlKey ) { ) Else if (MD & & ja. CtrlKey) (
  67. ( e . localX , e . localY ) ; erase_shape. grafiikkaa. lineTo (and. localX, ja. localY);
  68. ( erase_shape, null , null , "erase" ) ; bmp. bitmapData. draw (erase_shape, null, null, "tyhjentää");
  69. )
  70. )
  71. / /
  72. v: String ) : void { debug-toiminto (v: String): void (
  73. = new Date ( ) ; var d: Date = new Date ();
  74. d. getMinutes ( ) ":" d. getSeconds ( ) ":" d. getMilliseconds ( ) ": " v ) ; trace (k. getMinutes () ":" d. getSeconds () ":" d. getMilliseconds () ":" v);
  75. )

On lisätty uusi muoto, erase_shape ole näkyvissä (ei ollut suorittanut yhtään addChild ()):

ActionScript:
  1. ...
  2. / / Muoto, ei ole näkyvissä, käytetään "Poisto"
  3. Shape ( ) ; var erase_shape: muoto = new Shape ();

The koodinpätkää, että yritetään tehdä otettiin käyttöön valvonnan Ctrl-näppäintä, ja kun painetaan, on kyseessä nimenomaan Shape erase_shape ja kopioita Bitmap:

ActionScript:
  1. ....
  2. . lineTo ( e . localX , e . localY ) ; erase_shape. grafiikkaa. lineTo (and. localX, ja. localY);
  3. ( erase_shape, null , null , "erase" ) ; bmp. bitmapData. draw (erase_shape, null, null, "tyhjentää");

Jätä kommentti

Voit käyttää seuraavia TAG XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <, Datetime = ""> <em> <i> <q cite=""> <strike> <strong>