notice: Flash editor updated! Join the development! Thanks to MiniBuilder


embed

TALK
BeTweenAS3 を  PV3Dとともに具現した例題たちはどうしてずっと下のような
間違いが出るか知れないです.
一日中検索して見たが頭だけ痛いですね手伝ってください

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()
at 2009/07/25 14:38:02 by
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
FORKED
  1. // forked from beinteractive's 20,000 particles with BetweenAS3
  2. package
  3. {
  4.     import com.flashdynamix.utils.SWFProfiler;
  5.     import flash.display.Bitmap;
  6.     import flash.display.BitmapData;
  7.     import flash.display.PixelSnapping;
  8.     import flash.display.Sprite;
  9.     import flash.display.StageAlign;
  10.     import flash.display.StageQuality;
  11.     import flash.display.StageScaleMode;
  12.     import flash.events.Event;
  13.     import flash.geom.ColorTransform;
  14.     import flash.geom.Point;
  15.     import org.libspark.betweenas3.BetweenAS3;
  16.     import org.libspark.betweenas3.easing.Back;
  17.     import org.libspark.betweenas3.easing.Quart;
  18.     import org.libspark.betweenas3.tweens.ITween;
  19.     
  20.     public class ParticleBetween extends Sprite
  21.     {
  22.         private static const NUM_PARTICLES:uint = 200;
  23.         private static const FADE:ColorTransform = new ColorTransform(1111, -32, -16, -16);
  24.         
  25.         public function ParticleBetween()
  26.         {
  27.             setupParticles();
  28.             setupScreen();
  29.             setupStage();
  30.             
  31.             SWFProfiler.init(this);
  32.             
  33.             addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  34.         }
  35.         
  36.         private var _bitmapData:BitmapData;
  37.         private var _bitmap:Bitmap;
  38.         private var _particles:Particle;
  39.         
  40.         private function setupParticles():void
  41.         {
  42.             var prev:Particle = _particles = new Particle();
  43.             var p:Particle = null;
  44.             var a:Number, dx:Number, dy:Number;
  45.             var t:ITween;
  46.             var i:int = NUM_PARTICLES;
  47.             while (--i >= 0) {
  48.                 
  49.                 a = Math.random() * Math.PI * 2;
  50.                 dx = Math.cos(a) * 465 + 465 / 2;
  51.                 dy = Math.sin(a) * 465 + 465 / 2;
  52.                 
  53.                 p = new Particle();
  54.                 p.p.x = 465 / 2;
  55.                 p.p.y = 465 / 2;
  56.                 
  57.                 t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null1.5 + Math.random() * 4.5, Quart.easeIn);
  58.                 t.stopOnComplete = false;
  59.                 t.play();
  60.                 
  61.                 prev.next = p;
  62.                 prev = p;
  63.             }
  64.         }
  65.         
  66.         private function setupScreen():void
  67.         {
  68.             _bitmapData = new BitmapData(465465false, 0x000000);
  69.             _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
  70.         }
  71.         
  72.         private function setupStage():void
  73.         {
  74.             stage.frameRate = 60;
  75.             stage.quality = StageQuality.LOW;
  76.             stage.scaleMode = StageScaleMode.NO_SCALE;
  77.             stage.align = StageAlign.TOP_LEFT;
  78.             stage.addEventListener(Event.RESIZE, resizeHandler);
  79.             resizeHandler(null);
  80.         }
  81.         
  82.         private function resizeHandler(e:Event):void
  83.         {
  84.             _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
  85.             _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
  86.         }
  87.         
  88.         private function enterFrameHandler(e:Event):void
  89.         {
  90.             var bitmapData:BitmapData = _bitmapData;
  91.             
  92.             bitmapData.lock();
  93.             bitmapData.colorTransform(_bitmapData.rect, FADE);
  94.             
  95.             var p:Particle = _particles;
  96.             var pos:Point;
  97.             while ((p = p.next) != null) {
  98.                 pos = p.p;
  99.                 bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
  100.             }
  101.             
  102.             bitmapData.unlock();
  103.         }
  104.     }
  105. }
  106. import flash.geom.Point;
  107. internal class Particle
  108. {
  109.     public var p:Point = new Point();
  110.     public var next:Particle;
  111. }
noswf
  1. // forked from beinteractive's 20,000 particles with BetweenAS3
  2. package
  3. {
  4.     import com.flashdynamix.utils.SWFProfiler;
  5.     import flash.display.Bitmap;
  6.     import flash.display.BitmapData;
  7.     import flash.display.PixelSnapping;
  8.     import flash.display.Sprite;
  9.     import flash.display.StageAlign;
  10.     import flash.display.StageQuality;
  11.     import flash.display.StageScaleMode;
  12.     import flash.events.Event;
  13.     import flash.geom.ColorTransform;
  14.     import flash.geom.Point;
  15.     import org.libspark.betweenas3.BetweenAS3;
  16.     import org.libspark.betweenas3.easing.Back;
  17.     import org.libspark.betweenas3.easing.Quart;
  18.     import org.libspark.betweenas3.tweens.ITween;
  19.     
  20.     public class ParticleBetween extends Sprite
  21.     {
  22.         private static const NUM_PARTICLES:uint = 20000;
  23.         private static const FADE:ColorTransform = new ColorTransform(1111, -32, -16, -16);
  24.         
  25.         public function ParticleBetween()
  26.         {
  27.             setupParticles();
  28.             setupScreen();
  29.             setupStage();
  30.             
  31.             SWFProfiler.init(this);
  32.             
  33.             addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  34.         }
  35.         
  36.         private var _bitmapData:BitmapData;
  37.         private var _bitmap:Bitmap;
  38.         private var _particles:Particle;
  39.         
  40.         private function setupParticles():void
  41.         {
  42.             var prev:Particle = _particles = new Particle();
  43.             var p:Particle = null;
  44.             var a:Number, dx:Number, dy:Number;
  45.             var t:ITween;
  46.             var i:int = NUM_PARTICLES;
  47.             while (--i >= 0) {
  48.                 
  49.                 a = Math.random() * Math.PI * 2;
  50.                 dx = Math.cos(a) * 465 + 465 / 2;
  51.                 dy = Math.sin(a) * 465 + 465 / 2;
  52.                 
  53.                 p = new Particle();
  54.                 p.p.x = 465 / 2;
  55.                 p.p.y = 465 / 2;
  56.                 
  57.                 t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null1.5 + Math.random() * 4.5, Quart.easeIn);
  58.                 t.stopOnComplete = false;
  59.                 t.play();
  60.                 
  61.                 prev.next = p;
  62.                 prev = p;
  63.             }
  64.         }
  65.         
  66.         private function setupScreen():void
  67.         {
  68.             _bitmapData = new BitmapData(465465false, 0x000000);
  69.             _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
  70.         }
  71.         
  72.         private function setupStage():void
  73.         {
  74.             stage.frameRate = 60;
  75.             stage.quality = StageQuality.LOW;
  76.             stage.scaleMode = StageScaleMode.NO_SCALE;
  77.             stage.align = StageAlign.TOP_LEFT;
  78.             stage.addEventListener(Event.RESIZE, resizeHandler);
  79.             resizeHandler(null);
  80.         }
  81.         
  82.         private function resizeHandler(e:Event):void
  83.         {
  84.             _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
  85.             _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
  86.         }
  87.         
  88.         private function enterFrameHandler(e:Event):void
  89.         {
  90.             var bitmapData:BitmapData = _bitmapData;
  91.             
  92.             bitmapData.lock();
  93.             bitmapData.colorTransform(_bitmapData.rect, FADE);
  94.             
  95.             var p:Particle = _particles;
  96.             var pos:Point;
  97.             while ((p = p.next) != null) {
  98.                 pos = p.p;
  99.                 bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
  100.             }
  101.             
  102.             bitmapData.unlock();
  103.         }
  104.     }
  105. }
  106. import flash.geom.Point;
  107. internal class Particle
  108. {
  109.     public var p:Point = new Point();
  110.     public var next:Particle;
  111. }
noswf
  1. // forked from beinteractive's 20,000 particles with BetweenAS3
  2. package
  3. {
  4.     import com.flashdynamix.utils.SWFProfiler;
  5.     import flash.display.Bitmap;
  6.     import flash.display.BitmapData;
  7.     import flash.display.PixelSnapping;
  8.     import flash.display.Sprite;
  9.     import flash.display.StageAlign;
  10.     import flash.display.StageQuality;
  11.     import flash.display.StageScaleMode;
  12.     import flash.events.Event;
  13.     import flash.geom.ColorTransform;
  14.     import flash.geom.Point;
  15.     import org.libspark.betweenas3.BetweenAS3;
  16.     import org.libspark.betweenas3.easing.Back;
  17.     import org.libspark.betweenas3.easing.Quart;
  18.     import org.libspark.betweenas3.tweens.ITween;
  19.     
  20.     public class ParticleBetween extends Sprite
  21.     {
  22.         private static const NUM_PARTICLES:uint = 20000;
  23.         private static const FADE:ColorTransform = new ColorTransform(1111, -32, -16, -16);
  24.         
  25.         public function ParticleBetween()
  26.         {
  27.             setupParticles();
  28.             setupScreen();
  29.             setupStage();
  30.             
  31.             SWFProfiler.init(this);
  32.             
  33.             addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  34.         }
  35.         
  36.         private var _bitmapData:BitmapData;
  37.         private var _bitmap:Bitmap;
  38.         private var _particles:Particle;
  39.         
  40.         private function setupParticles():void
  41.         {
  42.             var prev:Particle = _particles = new Particle();
  43.             var p:Particle = null;
  44.             var a:Number, dx:Number, dy:Number;
  45.             var t:ITween;
  46.             var i:int = NUM_PARTICLES;
  47.             while (--i >= 0) {
  48.                 
  49.                 a = Math.random() * Math.PI * 2;
  50.                 dx = Math.cos(a) * 465 + 465 / 2;
  51.                 dy = Math.sin(a) * 465 + 465 / 2;
  52.                 
  53.                 p = new Particle();
  54.                 p.p.x = 465 / 2;
  55.                 p.p.y = 465 / 2;
  56.                 
  57.                 t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null1.5 + Math.random() * 4.5, Quart.easeIn);
  58.                 t.stopOnComplete = false;
  59.                 t.play();
  60.                 
  61.                 prev.next = p;
  62.                 prev = p;
  63.             }
  64.         }
  65.         
  66.         private function setupScreen():void
  67.         {
  68.             _bitmapData = new BitmapData(465465false, 0x000000);
  69.             _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
  70.         }
  71.         
  72.         private function setupStage():void
  73.         {
  74.             stage.frameRate = 60;
  75.             stage.quality = StageQuality.LOW;
  76.             stage.scaleMode = StageScaleMode.NO_SCALE;
  77.             stage.align = StageAlign.TOP_LEFT;
  78.             stage.addEventListener(Event.RESIZE, resizeHandler);
  79.             resizeHandler(null);
  80.         }
  81.         
  82.         private function resizeHandler(e:Event):void
  83.         {
  84.             _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
  85.             _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
  86.         }
  87.         
  88.         private function enterFrameHandler(e:Event):void
  89.         {
  90.             var bitmapData:BitmapData = _bitmapData;
  91.             
  92.             bitmapData.lock();
  93.             bitmapData.colorTransform(_bitmapData.rect, FADE);
  94.             
  95.             var p:Particle = _particles;
  96.             var pos:Point;
  97.             while ((p = p.next) != null) {
  98.                 pos = p.p;
  99.                 bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
  100.             }
  101.             
  102.             bitmapData.unlock();
  103.         }
  104.     }
  105. }
  106. import flash.geom.Point;
  107. internal class Particle
  108. {
  109.     public var p:Point = new Point();
  110.     public var next:Particle;
  111. }
noswf
  1. // forked from beinteractive's 20,000 particles with BetweenAS3
  2. package
  3. {
  4.     import com.flashdynamix.utils.SWFProfiler;
  5.     import flash.display.Bitmap;
  6.     import flash.display.BitmapData;
  7.     import flash.display.PixelSnapping;
  8.     import flash.display.Sprite;
  9.     import flash.display.StageAlign;
  10.     import flash.display.StageQuality;
  11.     import flash.display.StageScaleMode;
  12.     import flash.events.Event;
  13.     import flash.geom.ColorTransform;
  14.     import flash.geom.Point;
  15.     import org.libspark.betweenas3.BetweenAS3;
  16.     import org.libspark.betweenas3.easing.Back;
  17.     import org.libspark.betweenas3.easing.Quart;
  18.     import org.libspark.betweenas3.tweens.ITween;
  19.     
  20.     public class ParticleBetween extends Sprite
  21.     {
  22.         private static const NUM_PARTICLES:uint = 20000;
  23.         private static const FADE:ColorTransform = new ColorTransform(1111, -32, -16, -16);
  24.         
  25.         public function ParticleBetween()
  26.         {
  27.             setupParticles();
  28.             setupScreen();
  29.             setupStage();
  30.             
  31.             SWFProfiler.init(this);
  32.             
  33.             addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  34.         }
  35.         
  36.         private var _bitmapData:BitmapData;
  37.         private var _bitmap:Bitmap;
  38.         private var _particles:Particle;
  39.         
  40.         private function setupParticles():void
  41.         {
  42.             var prev:Particle = _particles = new Particle();
  43.             var p:Particle = null;
  44.             var a:Number, dx:Number, dy:Number;
  45.             var t:ITween;
  46.             var i:int = NUM_PARTICLES;
  47.             while (--i >= 0) {
  48.                 
  49.                 a = Math.random() * Math.PI * 2;
  50.                 dx = Math.cos(a) * 465 + 465 / 2;
  51.                 dy = Math.sin(a) * 465 + 465 / 2;
  52.                 
  53.                 p = new Particle();
  54.                 p.p.x = 465 / 2;
  55.                 p.p.y = 465 / 2;
  56.                 
  57.                 t = BetweenAS3.tween(p.p, {x: dx, y: dy}, null1.5 + Math.random() * 4.5, Quart.easeIn);
  58.                 t.stopOnComplete = false;
  59.                 t.play();
  60.                 
  61.                 prev.next = p;
  62.                 prev = p;
  63.             }
  64.         }
  65.         
  66.         private function setupScreen():void
  67.         {
  68.             _bitmapData = new BitmapData(465465false, 0x000000);
  69.             _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
  70.         }
  71.         
  72.         private function setupStage():void
  73.         {
  74.             stage.frameRate = 60;
  75.             stage.quality = StageQuality.LOW;
  76.             stage.scaleMode = StageScaleMode.NO_SCALE;
  77.             stage.align = StageAlign.TOP_LEFT;
  78.             stage.addEventListener(Event.RESIZE, resizeHandler);
  79.             resizeHandler(null);
  80.         }
  81.         
  82.         private function resizeHandler(e:Event):void
  83.         {
  84.             _bitmap.x = Math.floor((stage.stageWidth - 465) / 2);
  85.             _bitmap.y = Math.floor((stage.stageHeight - 465) / 2);
  86.         }
  87.         
  88.         private function enterFrameHandler(e:Event):void
  89.         {
  90.             var bitmapData:BitmapData = _bitmapData;
  91.             
  92.             bitmapData.lock();
  93.             bitmapData.colorTransform(_bitmapData.rect, FADE);
  94.             
  95.             var p:Particle = _particles;
  96.             var pos:Point;
  97.             while ((p = p.next) != null) {
  98.                 pos = p.p;
  99.                 bitmapData.setPixel(pos.x >> 0, pos.y >> 0, 0xffffff);
  100.             }
  101.             
  102.             bitmapData.unlock();
  103.         }
  104.     }
  105. }
  106. import flash.geom.Point;
  107. internal class Particle
  108. {
  109.     public var p:Point = new Point();
  110.     public var next:Particle;
  111. }
noswf

20,000 particles with BetweenAS3 10,000 particles with BetweenAS3 [diff(77)]

  1. /*
  2.  * 元ネタは↓これ。見た目もロジックもほぼ同じだけど、全面的に書き換えた。
  3.  * http://wonderfl.net/code/7566bce97625f61df3085809d5903b42657137ab
  4.  * */
  5. package
  6. {
  7.     import flash.display.Bitmap;
  8.     import flash.display.BitmapData;
  9.     import flash.display.PixelSnapping;
  10.     import flash.display.Sprite;
  11.     import flash.display.StageQuality;
  12.     import flash.events.Event;
  13.     import flash.geom.ColorTransform;
  14.     import org.libspark.betweenas3.BetweenAS3;
  15.     import org.libspark.betweenas3.easing.Quart;
  16.     import org.libspark.betweenas3.tweens.ITween;
  17.     import net.hires.debug.Stats;
  18.     import flash.geom.Point;
  19.     
  20.     public class Main extends Sprite
  21.     {
  22.         private const NUM_PARTICLES:int = 10000;
  23.         private const FADE:ColorTransform = new ColorTransform(1111, -0x2F, -0x2F, -0xF);
  24.         
  25.         private var _particles:Array;
  26.         private var _bitmapData:BitmapData;
  27.         private var _bitmap:Bitmap;
  28.         
  29.         public function Main()
  30.         {
  31.             setupParticles();
  32.             setupScreen();
  33.             setupStage();
  34.             addChild(new Stats());
  35.             addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  36.         }
  37.         
  38.         private function setupParticles():void {
  39.             _particles = [];
  40.             for (var i:int = 0; i < NUM_PARTICLES; i++) {
  41.                 _particles[i] = new Point();
  42.                 var angleRadians:Number = i / NUM_PARTICLES * Math.PI * 2 * Math.random() * 32;
  43.                 var dx:Number = Math.cos(angleRadians) * 465 * 0.7273 + 465 / 2;
  44.                 var dy:Number = Math.sin(angleRadians) * 465 * 0.7273 + 465 / 2;
  45.                 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);
  46.                 t.stopOnComplete = false;
  47.                 t.play();
  48.             }
  49.         }
  50.         
  51.         private function setupScreen():void {
  52.             _bitmapData = new BitmapData(465465false, 0x000000);
  53.             _bitmap = new Bitmap(_bitmapData, PixelSnapping.NEVER);
  54.             this.addChild(_bitmap);
  55.         }
  56.         
  57.         private function setupStage():void
  58.         {
  59.             stage.quality = StageQuality.LOW;
  60.         }
  61.         
  62.         private function enterFrameHandler(e:Event):void
  63.         {
  64.             var bitmapData:BitmapData = _bitmapData;
  65.             
  66.             bitmapData.lock();
  67.             bitmapData.colorTransform(_bitmapData.rect, FADE);
  68.             for (var i:int = 0; i < NUM_PARTICLES; i++) {
  69.                 bitmapData.setPixel(_particles[i].x , _particles[i].y, 0xFFFFFF*i/NUM_PARTICLES);
  70.             }
  71.             bitmapData.unlock();
  72.         }
  73.     }
  74. }
noswf
Get Adobe Flash Player