Forked from: naonya3's sinカーブの練習 diff:12 forked from: sinカーブの練習 サインカーブの練習 @author ledmosquito 9re forked:1favorite:0lines:43license : All rights reserved modified : 2009-04-30 23:08:04 Embed Tweet // forked from ledmosquito's sinカーブの練習 package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.filters.BevelFilter; import flash.filters.BitmapFilter; import flash.filters.BlurFilter; import flash.filters.GradientGlowFilter; import flash.geom.Point; import flash.geom.Rectangle; /** * サインカーブの練習 * @author ledmosquito */ [SWF(frameRate=60)] public class Sin extends Sprite { private const K:Number = 0.01; // private const K0:Number = 0.05; private var _v:Number = 0; private var _f:Number = 1.0; private var field:Bitmap; private var shape:Sprite; private var sprite:Sprite; private var speed:Number = 2.5; public function Sin() { field = new Bitmap(new BitmapData(300, 300,true,0x000000), 'auto', true); addChild(field); shape = new Sprite(); shape.graphics.beginFill(0x000000,1); shape.graphics.drawRect(0,0,300,0.5); addEventListener(Event.ENTER_FRAME, loop); sprite = new Sprite(); sprite.addChild(shape); //addChild(shape); } private function loop(e:Event):void { var posX:Number = shape.x + speed; // _v -= K * _f; _f += _v; var posY:Number = _f * 100 + 150; //var posY:Number = Math.sin(posX*(speed*0.01)) * 100 + 150; shape.x = posX; shape.y = posY; field.bitmapData.applyFilter(field.bitmapData, new Rectangle(0,0,300,300), new Point(0, 0),new BlurFilter(1.5,1.5)); //field.bitmapData.applyFilter(field.bitmapData, new Rectangle(0,0,300,300), new Point(0, 0),new GradientGlowFilter()); field.bitmapData.draw(sprite); if (posX > 300) shape.x = -300; } } } Code Fullscreen Preview Fullscreen sin を単振動に置き換えた Rectangle addEventListener addChild Event.ENTER_FRAME Event Sprite Number sort new page view favorite forked pv159 forked from: forked from: sinカ.. vasari forked:0 favorite:0lines:43 (diff:1)