Advertisement
Zanzlanz

Simple AS3 moon on water

Sep 28th, 2014
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. import flash.display.BitmapData;
  2. import flash.display.Bitmap;
  3. import flash.events.Event;
  4. import flash.geom.Point;
  5. import flash.geom.Rectangle;
  6. import flash.filters.BlurFilter;
  7. import flash.geom.Matrix;
  8. import flash.filters.DisplacementMapFilter;
  9.  
  10. var w:int = stage.stageWidth/2;
  11. var h:int = stage.stageHeight/2;
  12.  
  13. var canvas2:BitmapData = new BitmapData(w, h, true, 0x0);
  14. var canvas:BitmapData = new BitmapData(w, h, true, 0x0);
  15. var screen:Bitmap = new Bitmap(canvas);
  16. addChild(screen);
  17. screen.scaleX = screen.scaleY = 2;
  18.  
  19. var skyCanvas:BitmapData = new BitmapData(w, 76, true, 0xFF000000);
  20. for(var i = 1; i<=30; i++) {
  21. skyCanvas.setPixel32(Math.random()*w>>0, Math.random()*75>>0, 0xFFFFFFFF);
  22. }
  23. for(var ex = 0; ex<100; ex++) {
  24. for(var wy = 0; wy<100; wy++) {
  25. if(Math.sqrt(Math.pow(ex-50, 2)+Math.pow(wy-50, 2))<50) {
  26. skyCanvas.setPixel32(ex-50+w/2, wy-50+80, 0xFF000000+0x090909*((Math.random()*0x2>>0)*0x4+0x9));
  27. }
  28. }
  29. }
  30.  
  31. var tick:Number = 0;
  32. addEventListener(Event.ENTER_FRAME, ef);
  33. function ef(e:Event) {
  34. tick = (.2+tick)%1000;
  35. canvas2.perlinNoise(20, 4, 3, 324, false, true, 1, false, [new Point(tick, -tick/2), new Point(-tick*1.5, tick/1.5), new Point(-tick*2, -tick/2)]);
  36. canvas2.draw(new blur(), new Matrix(1, 0, 0, .7, 0, 75));
  37. canvas2.applyFilter(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), new BlurFilter(2, 2, 1));
  38. canvas.threshold(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), "<=", 0x33333333*5, 0xFFFFFFFF, 0x00FFFFFF);
  39. canvas.threshold(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), "<=", 0x33333333*4, 0xFF000000+0x101015*8, 0x00FFFFFF);
  40. canvas.threshold(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), "<=", 0x33333333*3, 0xFF000000+0x101015*6, 0x00FFFFFF);
  41. canvas.threshold(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), "<=", 0x33333333*2, 0xFF000000+0x051015*2, 0x00FFFFFF);
  42. canvas.threshold(canvas2, new Rectangle(0, 0, w, h), new Point(0, 0), "<=", 0x33333333*1, 0xFF000000+0x051015*0, 0x00FFFFFF);
  43. canvas.draw(skyCanvas);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement