at 2009/07/25 14:38:02
by
joo
Thank you for your bug report! I'm sorry. This issue was fixed in the new version. Please try.
at 2009/08/13 18:42:11
by
beinteractive
20,000 particles with BetweenAS3 forked from: 20,000 particles with BetweenAS3
- // forked from beinteractive's 20,000 particles with BetweenAS3
- package
- {
- import com.flashdynamix.utils.SWFProfiler;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.PixelSnapping;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageQuality;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import flash.geom.Point;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.Back;
- import org.libspark.betweenas3.easing.Quart;
- import org.libspark.betweenas3.tweens.ITween;
- public class ParticleBetween extends Sprite
- {
- private static const NUM_PARTICLES:uint = 200;
- private static const FADE:ColorTransform = new ColorTransform(1, 1, 1, 1, -32, -16, -16);
- public function ParticleBetween()
- {
- setupParticles();
- setupScreen();
- setupStage();
- SWFProfiler.init(this);
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private var _bitmapData:BitmapData;
- private var _bitmap:Bitmap;
- private var _particles:Particle;
- private function setupParticles():void
- {
- var prev:Particle = _particles = new Particle();
- var p:Particle = null;
- var a:Number, dx:Number, dy:Number;
- var t:ITween;
- var i:int = NUM_PARTICLES;
- while (--i >= 0) {
- a = Math.random() * Math.PI * 2;
- dx = Math.cos(a) * 465 + 465 / 2;
- dy = Math.sin(a) * 465 + 465 / 2;
- p = new Particle();
- p.p.x = 465 / 2;
- p.p.y = 465 / 2;
- t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null, 1.5 + Math.random() * 4.5, Quart.easeIn);
- t.stopOnComplete = false;
- t.play();
- prev.next = p;
- prev = p;
- }
- }
- private function setupScreen():void
- {
- _bitmapData = new BitmapData(465, 465, false, 0x000000);
- _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
- }
- private function setupStage():void
- {
- stage.frameRate = 60;
- stage.quality = StageQuality.LOW;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- stage.addEventListener(Event.RESIZE, resizeHandler);
- resizeHandler(null);
- }
- private function resizeHandler(e:Event):void
- {
- _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
- _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
- }
- private function enterFrameHandler(e:Event):void
- {
- var bitmapData:BitmapData = _bitmapData;
- bitmapData.lock();
- bitmapData.colorTransform(_bitmapData.rect, FADE);
- var p:Particle = _particles;
- var pos:Point;
- while ((p = p.next) != null) {
- pos = p.p;
- bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
- }
- bitmapData.unlock();
- }
- }
- }
- import flash.geom.Point;
- internal class Particle
- {
- public var p:Point = new Point();
- public var next:Particle;
- }
20,000 particles with BetweenAS3 forked from: 20,000 particles with BetweenAS3
- // forked from beinteractive's 20,000 particles with BetweenAS3
- package
- {
- import com.flashdynamix.utils.SWFProfiler;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.PixelSnapping;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageQuality;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import flash.geom.Point;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.Back;
- import org.libspark.betweenas3.easing.Quart;
- import org.libspark.betweenas3.tweens.ITween;
- public class ParticleBetween extends Sprite
- {
- private static const NUM_PARTICLES:uint = 20000;
- private static const FADE:ColorTransform = new ColorTransform(1, 1, 1, 1, -32, -16, -16);
- public function ParticleBetween()
- {
- setupParticles();
- setupScreen();
- setupStage();
- SWFProfiler.init(this);
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private var _bitmapData:BitmapData;
- private var _bitmap:Bitmap;
- private var _particles:Particle;
- private function setupParticles():void
- {
- var prev:Particle = _particles = new Particle();
- var p:Particle = null;
- var a:Number, dx:Number, dy:Number;
- var t:ITween;
- var i:int = NUM_PARTICLES;
- while (--i >= 0) {
- a = Math.random() * Math.PI * 2;
- dx = Math.cos(a) * 465 + 465 / 2;
- dy = Math.sin(a) * 465 + 465 / 2;
- p = new Particle();
- p.p.x = 465 / 2;
- p.p.y = 465 / 2;
- t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null, 1.5 + Math.random() * 4.5, Quart.easeIn);
- t.stopOnComplete = false;
- t.play();
- prev.next = p;
- prev = p;
- }
- }
- private function setupScreen():void
- {
- _bitmapData = new BitmapData(465, 465, false, 0x000000);
- _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
- }
- private function setupStage():void
- {
- stage.frameRate = 60;
- stage.quality = StageQuality.LOW;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- stage.addEventListener(Event.RESIZE, resizeHandler);
- resizeHandler(null);
- }
- private function resizeHandler(e:Event):void
- {
- _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
- _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
- }
- private function enterFrameHandler(e:Event):void
- {
- var bitmapData:BitmapData = _bitmapData;
- bitmapData.lock();
- bitmapData.colorTransform(_bitmapData.rect, FADE);
- var p:Particle = _particles;
- var pos:Point;
- while ((p = p.next) != null) {
- pos = p.p;
- bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
- }
- bitmapData.unlock();
- }
- }
- }
- import flash.geom.Point;
- internal class Particle
- {
- public var p:Point = new Point();
- public var next:Particle;
- }
20,000 particles with BetweenAS3 forked from: 20,000 particles with BetweenAS3
- // forked from beinteractive's 20,000 particles with BetweenAS3
- package
- {
- import com.flashdynamix.utils.SWFProfiler;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.PixelSnapping;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageQuality;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import flash.geom.Point;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.Back;
- import org.libspark.betweenas3.easing.Quart;
- import org.libspark.betweenas3.tweens.ITween;
- public class ParticleBetween extends Sprite
- {
- private static const NUM_PARTICLES:uint = 20000;
- private static const FADE:ColorTransform = new ColorTransform(1, 1, 1, 1, -32, -16, -16);
- public function ParticleBetween()
- {
- setupParticles();
- setupScreen();
- setupStage();
- SWFProfiler.init(this);
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private var _bitmapData:BitmapData;
- private var _bitmap:Bitmap;
- private var _particles:Particle;
- private function setupParticles():void
- {
- var prev:Particle = _particles = new Particle();
- var p:Particle = null;
- var a:Number, dx:Number, dy:Number;
- var t:ITween;
- var i:int = NUM_PARTICLES;
- while (--i >= 0) {
- a = Math.random() * Math.PI * 2;
- dx = Math.cos(a) * 465 + 465 / 2;
- dy = Math.sin(a) * 465 + 465 / 2;
- p = new Particle();
- p.p.x = 465 / 2;
- p.p.y = 465 / 2;
- t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null, 1.5 + Math.random() * 4.5, Quart.easeIn);
- t.stopOnComplete = false;
- t.play();
- prev.next = p;
- prev = p;
- }
- }
- private function setupScreen():void
- {
- _bitmapData = new BitmapData(465, 465, false, 0x000000);
- _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
- }
- private function setupStage():void
- {
- stage.frameRate = 60;
- stage.quality = StageQuality.LOW;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- stage.addEventListener(Event.RESIZE, resizeHandler);
- resizeHandler(null);
- }
- private function resizeHandler(e:Event):void
- {
- _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
- _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
- }
- private function enterFrameHandler(e:Event):void
- {
- var bitmapData:BitmapData = _bitmapData;
- bitmapData.lock();
- bitmapData.colorTransform(_bitmapData.rect, FADE);
- var p:Particle = _particles;
- var pos:Point;
- while ((p = p.next) != null) {
- pos = p.p;
- bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
- }
- bitmapData.unlock();
- }
- }
- }
- import flash.geom.Point;
- internal class Particle
- {
- public var p:Point = new Point();
- public var next:Particle;
- }
20,000 particles with BetweenAS3 forked from: 20,000 particles with BetweenAS3
- // forked from beinteractive's 20,000 particles with BetweenAS3
- package
- {
- import com.flashdynamix.utils.SWFProfiler;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.PixelSnapping;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageQuality;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import flash.geom.Point;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.Back;
- import org.libspark.betweenas3.easing.Quart;
- import org.libspark.betweenas3.tweens.ITween;
- public class ParticleBetween extends Sprite
- {
- private static const NUM_PARTICLES:uint = 20000;
- private static const FADE:ColorTransform = new ColorTransform(1, 1, 1, 1, -32, -16, -16);
- public function ParticleBetween()
- {
- setupParticles();
- setupScreen();
- setupStage();
- SWFProfiler.init(this);
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private var _bitmapData:BitmapData;
- private var _bitmap:Bitmap;
- private var _particles:Particle;
- private function setupParticles():void
- {
- var prev:Particle = _particles = new Particle();
- var p:Particle = null;
- var a:Number, dx:Number, dy:Number;
- var t:ITween;
- var i:int = NUM_PARTICLES;
- while (--i >= 0) {
- a = Math.random() * Math.PI * 2;
- dx = Math.cos(a) * 465 + 465 / 2;
- dy = Math.sin(a) * 465 + 465 / 2;
- p = new Particle();
- p.p.x = 465 / 2;
- p.p.y = 465 / 2;
- t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null, 1.5 + Math.random() * 4.5, Quart.easeIn);
- t.stopOnComplete = false;
- t.play();
- prev.next = p;
- prev = p;
- }
- }
- private function setupScreen():void
- {
- _bitmapData = new BitmapData(465, 465, false, 0x000000);
- _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
- }
- private function setupStage():void
- {
- stage.frameRate = 60;
- stage.quality = StageQuality.LOW;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- stage.align = StageAlign.TOP_LEFT;
- stage.addEventListener(Event.RESIZE, resizeHandler);
- resizeHandler(null);
- }
- private function resizeHandler(e:Event):void
- {
- _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
- _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
- }
- private function enterFrameHandler(e:Event):void
- {
- var bitmapData:BitmapData = _bitmapData;
- bitmapData.lock();
- bitmapData.colorTransform(_bitmapData.rect, FADE);
- var p:Particle = _particles;
- var pos:Point;
- while ((p = p.next) != null) {
- pos = p.p;
- bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
- }
- bitmapData.unlock();
- }
- }
- }
- import flash.geom.Point;
- internal class Particle
- {
- public var p:Point = new Point();
- public var next:Particle;
- }
20,000 particles with BetweenAS3 10,000 particles with BetweenAS3
- /*
- * 元ネタは↓これ。見た目もロジックもほぼ同じだけど、全面的に書き換えた。
- * http://wonderfl.net/code/7566bce97625f61df3085809d5903b42657137ab
- * */
- package
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.PixelSnapping;
- import flash.display.Sprite;
- import flash.display.StageQuality;
- import flash.events.Event;
- import flash.geom.ColorTransform;
- import org.libspark.betweenas3.BetweenAS3;
- import org.libspark.betweenas3.easing.Quart;
- import org.libspark.betweenas3.tweens.ITween;
- import net.hires.debug.Stats;
- import flash.geom.Point;
- public class Main extends Sprite
- {
- private const NUM_PARTICLES:int = 10000;
- private const FADE:ColorTransform = new ColorTransform(1, 1, 1, 1, -0x2F, -0x2F, -0xF);
- private var _particles:Array;
- private var _bitmapData:BitmapData;
- private var _bitmap:Bitmap;
- public function Main()
- {
- setupParticles();
- setupScreen();
- setupStage();
- addChild(new Stats());
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private function setupParticles():void {
- _particles = [];
- for (var i:int = 0; i < NUM_PARTICLES; i++) {
- _particles[i] = new Point();
- var angleRadians:Number = i / NUM_PARTICLES * Math.PI * 2 * Math.random() * 32;
- var dx:Number = Math.cos(angleRadians) * 465 * 0.7273 + 465 / 2;
- var dy:Number = Math.sin(angleRadians) * 465 * 0.7273 + 465 / 2;
- var t:ITween = BetweenAS3.tween(_particles[i], { x:dx , y:dy }, { x:465 / 2, y:465 / 2 }, 3 + 2 * (Math.random() + i / NUM_PARTICLES), Quart.easeIn);
- t.stopOnComplete = false;
- t.play();
- }
- }
- private function setupScreen():void {
- _bitmapData = new BitmapData(465, 465, false, 0x000000);
- _bitmap = new Bitmap(_bitmapData, PixelSnapping.NEVER);
- this.addChild(_bitmap);
- }
- private function setupStage():void
- {
- stage.quality = StageQuality.LOW;
- }
- private function enterFrameHandler(e:Event):void
- {
- var bitmapData:BitmapData = _bitmapData;
- bitmapData.lock();
- bitmapData.colorTransform(_bitmapData.rect, FADE);
- for (var i:int = 0; i < NUM_PARTICLES; i++) {
- bitmapData.setPixel(_particles[i].x , _particles[i].y, 0xFFFFFF*i/NUM_PARTICLES);
- }
- bitmapData.unlock();
- }
- }
- }
notice:







間違いが出るか知れないです.
一日中検索して見たが頭だけ痛いですね手伝ってください
TypeError: Error #1009: null 客体参照の速成やメソッドにアクセスすることができません.
at org.libspark.betweenas3.targets.single.display::DisplayObjectTweenTarget/setSourceValue()
at org.libspark.betweenas3.factories::StandardSingleTweenTargetFactory/create()
at org.libspark.betweenas3::BetweenAS3$/tween()
at Main()