ktat.haxe RSSPLAIN

Related pages:
454555455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
4

haXe の練習

5

 

4

ktat が haxeEXT の練習をするページ。

5

でも、実は、前にやったのをあげてみただけ。

5

 

5

 

4

ほら、VM が Neko っていうし、これ、親近感湧かない?

5

猫好きとしては。

5

 

5

 

5

ドキュメントが良くなってる。また始めようかなぁ。

5

http://haxe.org/api

5

 

5

注意点

5

 

5

Action Scriptと似てるけど、若干違う。型に注意。

5

Action Script は、Numberだけど、haXeは、Intとか。

5

 

5

 

5

haXeはJavaScriptもはける。たぶん、リモーティングとかの機能とかを

5

FlashでもJavaScriptでも同じようにかけるんではなかろうか(勝手な推測)。

5

 

5

はじめて書いたもの

5

 

5

後輩のActionScripterに効いたところ、Listener でイベント取れるので、

5

EnterFrameの中でやってるのは変らしい。が、この後、haxeのコード書いてないんだよね(ぉぃ

5

 

5

 

5

ただの、SlideshowできるFlashです。コメントは反省点とか感想とか。

5

 

5
 import flash.MovieClip;
5
 
5
 // 排他的な動作の制御とかまじめにやらないとダメですね。
5
 // frame 内でくるくる回るので、そこでフラグの判断をして、挙動を変えてみる
5
 //
5
 // グラデーションのような効果(_alphaの調整)は、frame内でないと動かない?
5
 // while & flash.Lib.getTimer()でなんとかしてみたが、ダメでした(frame内でも)。
5
 //
5
 // MovieClipは、画像をロードすると、クリック判定がきかなくなるので、
5
 // 画像の上にかぶせるMovieClipを新たに作る
5
 // moveToで場所移動し、 beginFill - endFillで四角を作って、あたり判定を作る
5
 
5
 
5
 class ImportPngPress {
5
 
5
   static var picts : Array<MovieClip> = new Array<MovieClip>();
5
   static var mc : MovieClip = flash.Lib.current;
5
   static var idx : Int = 0;
5
   static var next_btn : MovieClip;
5
   static var prev_btn : MovieClip;
5
   static var slideshow_btn : MovieClip;
5
   static var slide_bg : MovieClip;
5
   static var all_btn  : MovieClip;
5
   static var all_img  : MovieClip;
5
   static var ctrl_status : Int = 1;
5
   static var slideshow_status : Int = 0;
5
   static var change_picture_status : Int = 0;
5
   static var change_picture : Int = 0;
5
   static var wait_flg : Int = 0;
5
   static var MAX = 9;
5
 
5
   function new (){  }
5
 
5
   static function main() {
5
     var app: ImportPngPress = new ImportPngPress();
5
     var i = 0;
5
 
5
     for (i in 0 ... MAX) {
5
       var tmc = mc.createEmptyMovieClip('pict_' + i, mc.getNextHighestDepth());
5
       var url = 'file:///home/ktat/picture/hoo/dcp00' + (807 + i) + '.jpg';
5
       tmc.loadMovie(url);
5
       tmc._xscale = 50;
5
       tmc._yscale = 50;
5
       tmc._alpha = 0;
5
       picts.push(tmc);
5
     }
5
 
5
     for (i in 0 ... MAX) {
5
       var url = 'file:///home/ktat/picture/hoo/dcp00' + (807 + i) + '.jpg';
5
       create_submnail(url, i);
5
     }
5
 
5
     picts[idx = i]._alpha = 100;
5
 
5
     next_btn = create_btn('next_btn', 0,  0, 20, 10, 0xFFFFFF, 70);
5
     prev_btn = create_btn('prev_btn', 40, 0, 20, 10, 0xFFFFFF, 70);
5
     slideshow_btn = create_btn('slideshow_btn', 80, 0, 20, 10, 0xFFFFFF, 70);
5
     all_btn  = create_btn('all_btn', 0, 10, flash.Stage.width, flash.Stage.height -100, 0xFFFFFF, 0);
5
     slide_bg = create_btn('all_bg', 0, 0, flash.Stage.width, flash.Stage.height, 0xFFFFFF, 0);
5
     slide_bg._xscale = 50;
5
     slide_bg._yscale = 50;
5
     all_img  = create_btn('all_img', 0, 0, flash.Stage.width, flash.Stage.height, 0xFFFFFF, 0);
5
     all_img._xscale = all_img._yscale = 50;
5
 
5
     all_btn.onPress = function () {
5
       if (ctrl_status == 1) {
5
        ctrl_status = 0;
5
        all_img.loadMovie(picts[idx]._url);
5
       } else {
5
        ctrl_status = 1;
5
        slideshow_status = 0;
5
        slide_bg._alpha = 0;
5
        all_img.unloadMovie();
5
       }
5
     }
5
 
5
     next_btn._alpha = 100;
5
     next_btn.onPress   = ImportPngPress.onPress;
5
     next_btn.onRelease = next_btn.onReleaseOutside =  ImportPngPress.onRelease;
5
 
5
     prev_btn.onPress   = ImportPngPress.onPress;
5
     prev_btn.onRelease = prev_btn.onReleaseOutside = ImportPngPress.onReleasePrev;
5
 
5
     slideshow_btn.onPress = function () {
5
       if (slideshow_status == 1) {
5
        slide_bg._alpha = 0;
5
        slideshow_status = 0;
5
        ctrl_status = 0;
5
       } else {
5
        slide_bg._alpha = 100;
5
        slideshow_status = 1;
5
        wait_flg = 0;
5
        all_img.unloadMovie();
5
       }
5
     }
5
         
5
     var j = 0;
5
     var j2= 100;
5
     mc.onEnterFrame = function () {
5
       if (slideshow_status == 1) {
5
        slide_bg._alpha = 100;
5
        if (wait_flg == 0) {
5
          var nex = (idx + 1 > MAX) ? 0 : idx + 1;
5
          if (j2 == 100) {
5
            all_img._alpha = j2 -= 10;
5
            slide_bg.unloadMovie();
5
            slide_bg.loadMovie(picts[nex]._url);
5
          }else if (j2 == 0) {
5
            j2 = 100;
5
            idx = nex;
5
            wait_flg = 1;
5
            all_img.unloadMovie();
5
            all_img.loadMovie(picts[idx]._url);
5
            all_img._alpha = 100;
5
          } else {
5
            all_img._alpha = j2 -= 10;
5
          }
5
        } else {
5
          wait_flg++;
5
          if(wait_flg > 100) {
5
            wait_flg = 0;
5
          }
5
        }
5
       } else {
5
        if (change_picture_status > 0) {
5
          i = change_picture;
5
          if (i != idx) {
5
            j += 10;
5
            picts[idx]._alpha = 100 - j;
5
            picts[i]._alpha   = j;
5
            if (j >= 100) {
5
              change_picture = 0;
5
              change_picture_status = 0;
5
              idx = i;
5
              j = 0;
5
            }
5
          }
5
        }
5
       }
5
 
5
     };
5
     flash.Mouse.addListener(app);
5
   }
5
 
5
   static function onRelease(){
5
     picts[idx]._alpha = 0;
5
     if (++idx > 10) {
5
       idx = 0;
5
     }
5
     picts[idx]._alpha = 100;
5
   }
5
 
5
   static function onReleasePrev(){
5
     picts[idx]._alpha = 0;
5
     if (--idx < 0) {
5
       idx = 10;
5
     }
5
     picts[idx]._alpha = 100;
5
   }
5
 
5
   static function onPress(){
5
     picts[idx]._alpha = 70;
5
   }
5
 
5
   static function create_btn(name : String, placex : Int, placey : Int, x : Float, y : Float, color : Int, transparent: Int){
5
     var next_btn = mc.createEmptyMovieClip(name, mc.getNextHighestDepth());
5
     next_btn.beginFill(color, transparent);
5
     next_btn.moveTo( placex ,     placey);
5
     next_btn.lineTo( placex + x,  placey);
5
     next_btn.lineTo( placex + x,  placey + y);
5
     next_btn.lineTo( placex,      placey + y);
5
     next_btn.endFill();
5
     return next_btn;
5
   }
5
 
5
   static function create_submnail(uri : String, i: Int) {
5
     var s  =  mc.createEmptyMovieClip('submnail_' + i, mc.getNextHighestDepth());
5
     var sh =  mc.createEmptyMovieClip('submnail_' + i, mc.getNextHighestDepth());
5
     var h = flash.Stage.height - 50;
5
     s._x = sh._x = i * 50 + 25; 
5
     s._y = sh._y = h;
5
     s._xscale = s._yscale = 5;
5
     s.loadMovie(uri);
5
     sh.beginFill(0xFF0000, 0);
5
     sh.moveTo(0 ,0);
5
     sh.lineTo(50, 0);
5
     sh.lineTo(50, 50);
5
     sh.lineTo(0, 50);
5
     sh.endFill();
5
     sh.onPress = function () {
5
       change_picture = i;
5
       change_picture_status = 1;
5
     }
5
   }
5
 }