Archive for 10月, 2009

JIMMY CHOO X H&M

星期五, 10月 23rd, 2009

11月14号

codeblock+openframework 两大神器

星期二, 10月 20th, 2009

null

openframework类似于processing的一个库,但是是基于c++的。执行效率目前看起来比较高。

null

code block一个c++得IDE,安装简单,不用去装visual studio。。。

基于距离判断碰撞的例子(as3)

星期日, 10月 11th, 2009

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

package {
 import flash.display.Sprite;
 import flash.events.Event;
 public class Bubbles2 extends Sprite {
  private var balls:Array;
  private var numBalls:Number=10;
  private var bounce:Number=-0.5;
  private var spring:Number=0.05;
  private var gravity:Number=0.1;
  public function Bubbles2() {
   init();
  }
  private function init():void {
   balls=new Array();

   for (var i:uint=0; i<numBalls; i++) {
    var ball:Ball=new Ball(Math.random()*30+20,Math.random()*0xffffff);
    ball.x=Math.random()*stage.stageWidth;
    ball.y=Math.random()*stage.stageHeight;
    ball.vx=Math.random()*6-3;
    ball.vy=Math.random()*6-3;
    addChild(ball);
    balls.push(ball);
   }
   addEventListener(Event.ENTER_FRAME,onEnterFrame);
  }
  private function onEnterFrame(event:Event):void {
   for (var i:uint=0; i<numBalls-1; i++) {
    var ball0:Ball=balls[i];
    for (var j:uint=i+1; j<numBalls; j++) {
     var ball1:Ball=balls[j];
     var dx:Number=ball1.x-ball0.x;
     var dy:Number=ball1.y-ball0.y;
     var dist:Number=Math.sqrt(dx*dx+dy*dy);
     var minDist:Number=ball0.radius+ball1.radius;
     if (dist<minDist) {
      var angle:Number=Math.atan2(dy,dx);
      var tx:Number=ball0.x+Math.cos(angle)*minDist;
      var ty:Number=ball0.y+Math.sin(angle)*minDist;
      var ax:Number=(tx-ball1.x)*spring;
      var ay:Number=(ty-ball1.y)*spring;
      ball0.vx-=ax;
      ball0.vy-=ay;

      ball1.vx+=ax;
      ball1.vy+=ay;
     }
    }
   }
   for (i = 0; i < numBalls; i++) {
    var ball:Ball = balls[i];
    move(ball);
   }
  }
  private function move(ball:Ball):void {
   ball.vy += gravity;
   ball.x += ball.vx;
   ball.y += ball.vy;
   if (ball.x + ball.radius > stage.stageWidth) {
    ball.x = stage.stageWidth - ball.radius;
    ball.vx *= bounce;
   } else if (ball.x - ball.radius < 0) {
    ball.x = ball.radius;
    ball.vx *= bounce;
   }
   if (ball.y + ball.radius > stage.stageHeight) {
    ball.y = stage.stageHeight - ball.radius;
    ball.vy *= bounce;
   } else if (ball.y - ball.radius < 0) {
    ball.y = ball.radius;
    ball.vy *= bounce;
   }
  }
 }
}

最近坚持再看Keith Peters的ActionScript3.0 Animation这本书,感觉受益匪浅。

国庆放假回来看到的最好的网站 - wonder wall

星期五, 10月 9th, 2009

链接

papervision和as3mode得完美结合。比以往单纯的效果展示,它把这种效果 融入了各种场景之之间转换之中,难能可贵的是cpu真用率不高,而且整个设计也是简洁大方。估计这次它也超越了欧美很多网站。