fc2ブログ

UintCycle 循環する整数を返すクラス

2007/03/06 22:12 - AS3.0

array = [
 { x:x0 , y:y0 , z:z0 } ,
 { x:x1 , y:y1 , z:z1 } ,
 { x:x2 , y:y2 , z:z2 } ,
 ...
 ...
];
array[0] → array[1] → array[2] → array[0] → array[1] → ...

  • 普通時に if ( カウンター > 配列の長さ ) { カウンター = 0; }
  • 逆転時に if ( カウンター <= 0 ) { カウンター = 配列の長さ; }

public class UintCycle {

 // -------------------- プロパティ --------------------
 private var range:uint;
 private var flg:int = 1;
 private var val:int = 0;

 // -------------------- メソッド --------------------
 // コンストラクタ
 public function UintCycle( range:uint , ... flg ) {
  // range : 循環範囲
  // flg   : 正逆フラグ( -1 で逆転)

  this.range = range;
  if ( flg[0] == -1 ) { this.flg = -1; }
 }

 // 循環実行
 public function get cycle():uint {

  val += flg;
  val %= range;

  // 逆転時の判定
  var offset:int = 0;
  if ( ( flg == -1 ) && ( val != 0 ) ) { offset = range; }

  return val + offset;
 }
}

var array:Array = new Array();
array[0] = ○○;
array[1] = ××;
array[2] = □□;

var uintCycle:UintCycle = new UintCycle( array.length );

...
...
...

function btnClick() {
 取り出した要素 = array[ uintCycle.cycle ];
}

にほんブログ村 IT技術ブログへ

スポンサーサイト




トラックバック


この記事にトラックバックする(FC2ブログユーザー)

循環する数値・配列を取得する

数字を循環させて繰り返し用いたい場合がある。そんなときの、自分のためメモ。 var n:Number = 0;var cycle:Number = 5;this.onEnterFrame = function():Void {&nbsp;...
2007/03/07 00:09 ひろゆきのブログ - にゃあプロジェクト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
2007/03/07 00:14|  [ 編集 ]
タグクラウド

最近の記事
カテゴリ
月別アーカイブ
プロフィール

Aquioux

Author:Aquioux
日曜 Flash プログラマ。
Flash 作品は本館で展示しています。


mailto:aquioux@mail.goo.ne.jp

ブログパーツ

あわせて読みたい

フィードメーター - 閃光的網站・弛緩複合体 -Review Division-


検索/translation
Google



オススメ本

コメント
トラックバック
RSS

Add to Google

Bloglinesで閲読登録

はてなRSSに追加

Subscribe with livedoor Reader

My Yahoo!に追加

Add to Technorati Favorites!

feedpathに追加