トップ 一覧 Farm 検索 ヘルプ RSS ログイン

ActionScript3.0の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{category コンピュータ,Flash,,}}


!!!重なり順の変更
 setChildIndex(mc, this.numChildren-1);//最前面表示
 setChildIndex(mc, 0);//最背面表示
 //最前面表示
 setChildIndex(mc, this.numChildren-1);
 //最背面表示
 setChildIndex(mc, 0);


!!!表示リスト
 //mc0をmc1に追加する
 mc1.addChild(mc0);
 //mc0をmc1から削除する
 mc1.removeChild(mc0);


!!!表示・非表示
 //表示
 mc.visible = true;
 //非表示
 mc.visible = false;

!!!エラー

ReferenceError: Error #1065: 変数 TCMText は定義されていません。
原因
 同じ変数を2度宣言している。
 同じ変数の属性の定義を2度している。



!!!ランダム(1〜100)

var mysteryNumber:uint;
 mysteryNumber = Math.ceil(Math.random() * 100);

!!!インプットテキスト

テキストのプロパティ
 テキストの名前 input
 クラッシックテキスト
 テキスト入力

 input.text = ""; //初期値 空欄
 input.backgroundColor = 0xCCCCCC; //背景色 白
 input.restrict = "0-9"; //入力できる範囲 数字 ("0-9A-F" 16進数のカラー値)
 stage.focus = input; //フォーカスを与える

!!!配列の変数

 // 配列の変数宣言
 private var _collectionJar:Array;

 public function Main_ArrayBasic()
 {
  // 配列をインスタンス化
  _collectionJar = new Array();
  // 配列にエレメントを追加
  _collectionJar[0] = "犬";
  _collectionJar[1] = "さる";
  _collectionJar[2] = "きじ";
  // 配列の中身を出力
    trace("配列全体: " + _collectionJar);
  // 個々のエレメントを出力
    trace("要素 0:" + _collectionJar[0]);
    trace("要素 1: " + _collectionJar[1]);
    trace("要素 2::" + _collectionJar[2]);
  }

!!!配列の変数 push

 public function Main_ArrayPush()
  {
  // 配列をインスタンス化
  _collectionJar = new Array();
  // 配列にエレメントを追加
  _collectionJar.push("fly");
  _collectionJar.push("mosquito");
  _collectionJar.push("bee");
  // 配列の中身を出力
  trace("配列全体: " + _collectionJar);
  //Trace individual elements
  // 個々のエレメントを出力
  trace("エレメント 0: " + _collectionJar[0]);
  trace("エレメント 1:" + _collectionJar[1]);
  trace("エレメント 2: " + _collectionJar[2]);
  }

!!!for
 // 配列の中身を出力
 for (var i:int = 0; i < _collectionJar.length; i++)
  {
   trace("要素 " + i + ":" + _collectionJar[i]);
  }

!!!配列を検索
 for (var i:int = 0; i < _collectionJar.length; i++)
  {
   if(_collectionJar[i] == "犬")
    {
    trace("犬は要素 " + i + "です");
    break;
    }
  }


!!!オブジェクトをブロック

		static public function block(objectA:MovieClip, objectB:MovieClip):void
		{
			var objectA_Halfwidth:Number = objectA.width / 2;
			var objectA_Halfheight:Number = objectA.height / 2;
			var objectB_Halfwidth:Number = objectB.width / 2;
			var objectB_Halfheight:Number = objectB.height / 2;
			var dx:Number = objectB.x - objectA.x;
			var ox:Number = objectB_Halfwidth + objectA_Halfwidth - Math.abs(dx);
			if (ox > 0)
			{
				var dy:Number = objectA.y - objectB.y;
				var oy:Number = objectB_Halfheight + objectA_Halfheight - Math.abs(dy);
				if (oy > 0)
				{
					if (ox < oy)
					{
						if (dx < 0)
						{
							// 右での衝突
							oy = 0;
						}
						else
						{
							// 左での衝突
							ox *= -1;
							oy = 0;
						}
					}
					else
					{
						if (dy < 0)
						{
							// 上での衝突
							ox = 0;
							oy *= -1;
						}
						else
						{
							// 下での衝突
							ox = 0;
						}
					}
					
					// 計算したxとyの重なりを使って、 
					//objectAを衝突領域の外へ移動
					
					objectA.x += ox;
					objectA.y += oy;
				}
			}
		}

!!!軸ベースの衝突を調べる trueかfalseを返す

		static public function test(objectA:Object,objectB:Object):Boolean
		{
			var objectA_Halfwidth=objectA.width/2;
			var objectA_Halfheight=objectA.height/2;
			var objectB_Halfwidth=objectB.width/2;
			var objectB_Halfheight=objectB.height/2;
			var dx=objectB.x-objectA.x;
			var ox=objectB_Halfwidth+objectA_Halfwidth-Math.abs(dx);
			if (0<ox)
			{
				var dy=objectA.y-objectB.y;
				var oy=objectB_Halfheight+objectA_Halfheight-Math.abs(dy);
				if (0<oy)
				{
					return true;
				}
			}
			else
			{
				return false;
			}
			return false;
		}