Subscribe to RSS Feed ログイン

FLASH備忘6|ActionScriptやらWordPressやらを楽しむ会

Thursday
2010年9月09日

Box2Dを使った技術がすごすぎる件

Box2Dというライブラリがあるそうです。

コメント(0)続きを読む

回転する画像メニュー2(自動ランダム選択)ActionScript 3.0

前回作った回るメニューの動きで、マウスが乗っていいないときの動きがさみしかったので、前回作成したものをステージにマウスが乗っていないときにランダムで切り替わるようにしました。

処理自体はとくに難しいところはなく、flag1という変数を作って判定しています。ちなみにステージの外に出たかどうかの判定は MOUSE_LEAVEという便利なイベントがあったので、それを使っています。

  stage.addEventListener(Event.MOUSE_LEAVE, onMLeave);

前に発生させた乱数と同じ数値を出さないようにする方法

ここでちょっとした問題が発生。乱数を使って次に表示する花を選んでいるわけだが、この乱数が前の数値を同じであると、その花が通常の2秒プラス2秒で4秒表示しているかのうように見える。このため、一瞬FLASHが停止したかのようにも見える。

これを改善するために前の数値で発生した乱数と、次に発生した乱数が一致しないようにスクリプトを少し修正した。↓がその一文。

  var regNum:int=clickedNum;//ひとつ前の数を残しておくための変数
    //前の数値と乱数でいま発生した数値が一致するかの判定はdo-whileの繰り返し分を使う。
    //doは必ず一度処理する部分 whileは繰り返すか繰り返さないか判定を行う部分
    //do{ 必ず一度処理する部分 }while(この条件式が正ならば繰り返し)
    do {
     clickedNum=int(Math.random()*12);//乱数を発生させ、値を代入する
    } while ( clickedNum == regNum);//ひとつ前と同じか判定する
   }

この同じ乱数を発生させない方法は他のところにも利用できそうだ。

回転する画像メニュー(花)ActionScript 3.0

コメント(0)続きを読む

回転する画像メニュー(花)ActionScript 3.0

今日は、ActionScript 3.0による数学・物理学表現という本を楽しんでいます。

画像の読み込み部分がややこしいのですね。

コメント(1)続きを読む

ステージの初期化(ActionScript 3.0

ActionScript 3.0のステージの初期化についてメモ書き

 
//ステージを画面に100%表示
stage.scaleMode = StageScaleMode.NO_SCALE;
//左上にステージを配置
stage.align = StageAlign.TOP_LEFT;

コメント(0)続きを読む

FLASH本。「ActionScript 3.0辞典」 買いました。

ActionScript 3.0辞典 [FlashPlayer10/9対応]
伊藤 のりゆき (著), 大重 美幸 (著), 野中 文雄 (著), 植木 友浩 (著), 林 拓也 (著)

ActionScript 3.0の辞書が前々からほしかったのですが、どれにしようか悩んで結局買えない日が続いていました。年末集中的に制作しようと決め、ついに買ってしまいました。

20091226133149

似たような本が何冊がでているので本当に迷いました。この本に決めた理由はつぎです。

  • 辞典の中でも出版日が最新
  • 3Dなどそのほかの辞典では対応しきれていない最新の技術が乗っていること
  • 本体がわりとちいさめで、机のじゃまになりにくい
  • 絵は少なめだが、サンプルスクリプトが充実して、かつ、わかりやすい。
  • 辞典の中でも読みやすい方であった。

まだパラパラとしかめくっていませんが、ひとつFLASHを作ってみると、わからないスクリプトを調べるときに、パソコンで検索より、本で探した方がはやいことに気付きました。

また、空いた時間にパラパラとめくっていくだけでも色々な発見があっておもしろいです。この辞典をもとに新しいアイデアが生まれそうです。

この本がぼろぼろにはなるころにはActionScript 3.0が上達しているはず。

ActionScript 3.0辞典 [FlashPlayer10/9対応]
伊藤 のりゆき 大重 美幸 野中 文雄 植木 友浩 林 拓也
翔泳社
売り上げランキング: 19911

コメント(0)続きを読む

フォントを見やすいものにして、ActionScript 3.0が入力ミスを減らす。

ActionScript 3.0が入力ミスが少なく、かつきれいに見えるフォントとはどれか?

ActionScript 3.0を元に色々と試してみました。

「 ; : , . 」はよく間違える文字。

これ文字の違いがわかりやすく。気に入ったものを選びました。

選んだのが↓

screenshot.239

数百ある標準フォントから選んだのは

「Lucida  Console」

です。見やすいです。

WindowsVISTAによってインストールされる標準搭載フォント一覧

http://www.aboutfont.com/trouble/osfont.html

screenshot.240

ActionScript 3.0の環境設定から変更できます。

(Flash CS4)より。

コメント(0)続きを読む

WEBアプリ「wonderfl」ActionScript 3.0を簡単に作成、公開を無料でできるサービス

すごいサービス発見しました。
何のソフトもインストールすることなくこれなら
ActionScript 3.0を書いて実行することができます。
しかも、公開は簡単。ブログにもはりつけられる。
まさにワンダフルなサービスです。
FLASH好きにはたまりません。

screenshot.238 

wonderfl build flash online
http://wonderfl.net/

screenshot.237

コメント(0)続きを読む

z座標を使ったActionScript 3.0(明度変化あり版)

遠くにある物体ほど、白くぼやけてみえるようにしたいということから、

ネットで検索してみるとTweenerでスクリプトを書くと簡単にできるということで、

Tweenerをはじめて導入しました。

使用したのはColorShortcutsとbrightnessです。

しくみを理解するのに結構時間がかかりました。

追加スクリプト

  ColorShortcuts.init();
   Tweener.addTween(box,{_brightness:2.7,time:10,transition:"linear"});

コメント(0)続きを読む

z座標を使ったActionScript 3.0(改良版)

自然になるように修正しました。

 

 

  
var numB:int=300;
var size:int=50;
var boxs:Array = new Array();
for (var i:int = 0; i < numB; i++) {
 var hen:int=Math.random()*8300-300;
 var col:int=0xffffff*Math.random();
 var box:Sprite = new Sprite();
 box.graphics.beginFill(col);
 box.graphics.drawRect(0,0,size,size);
 box.x=Math.random()*stage.stageWidth*2-stage.stageWidth/2;
 box.y=Math.random()*stage.stageHeight*2-stage.stageHeight/2;
 box.z=hen;
 addChild(box);
 boxs.push(box);
}
addEventListener(Event.ENTER_FRAME, onEF);

function onEF(e:Event):void {
 for (var i:int = 0; i < numB; i++) {
  if (box.z<8000) {
   box=boxs[i];
   box.z+=10;
   /*var xal:int = box.z;
   box.alpha = (3000 - xal) / 3000;*/

  } else {
   box.z=-300;
   box.x=Math.random()*stage.stageWidth*2-stage.stageWidth/2;
   box.y=Math.random()*stage.stageHeight*2-stage.stageHeight/2;

   setChildIndex(box, numChildren - 1);
  }
 }
}

コメント(0)続きを読む

z座標を使ったActionScript 3.0

 

Flash CS4を手に入れたこともあり、早速z座標を使ってみます。

  
var numB:int=100;
var boxs:Array = new Array();
for (var i:int = 0; i < numB; i++) {
 var sW:int=stage.stageWidth*Math.random();
 var sH:int=stage.stageHeight*Math.random();
 var hen:int=Math.random()*8000;
 var col:int=0xffffff*Math.random();

 var box:Sprite = new Sprite();
 box.graphics.beginFill(col);
 box.graphics.drawRect(0,0,200,200);
 box.x=sW;
 box.y=sH;
 box.z=hen;
 addChild(box);
 boxs.push(box);
}
addEventListener(Event.ENTER_FRAME, onEF);

function onEF(e:Event):void {
 for (var i:int = 0; i < numB; i++) {
  if (box.z<8000) {
   box=boxs[i];
   box.z+=10;
   /*var xal:int = box.z;
   box.alpha = (3000 - xal) / 3000;*/
   
  } else {
   box.z=0;
   var flag:int = 2 * Math.random();
   if(flag == 0){
   box.x = -200 + int(Math.random() * 2) * 750;
   box.y = Math.random() * (stage.stageHeight) - 200;
   }else{
    box.y = -200 + int(Math.random() * 2) * 600;
    box.x = -200 + Math.random() * 750;
   }
   setChildIndex(box, numChildren - 1);
  }
 }
}

コメント(0)続きを読む