速習Webデザイン ActionScript3.0を読む その5

速習Webデザイン ActionScript 3.0

速習Webデザイン ActionScript 3.0

part5 見えないオブジェクト のつづき

  • 02-02 Arrayオブジェクトの作成と使用
    • 配列に関するメソッドのまとめ
Array.push(データ1,・・・,データn)
データを最後尾に追加し追加後の要素数を返す。
Array.unshift(データ1,・・・,データn)
データを先頭に追加し追加後の要素数を返す。
Array.pop
最後尾の要素を削除し、それを返す。←最後尾を取り出す
Array.shift
先頭の要素を削除し、それを返す。←先頭を取り出す
    • プロパティとしてよく使いそうなの
Array.length
素数
    • pushとpopてC習った学生時代に聞き覚えあり。スッタク関連で出てきた気が。
  • 03-02 for・・・inステートメント
    • Objectオブジェクト自身をtrace()してもカスタムプロパティの内容が取り出せないのでfor inを使う。
    • 書式は以下。

for (変数 in オブジェクト ){
    処理
}

  • Let's TRY!!
    • 与えられたオブジェクトのプロパティを表示させるという課題。
    • 記述したスクリプトは以下。uintをうにっと綴りミスしててエラー食らった(´Д⊂

var pcInfo_array:Array = new Array();
pcInfo_array.push({title:"パリ:サン・ルイ島", price:"\\126", code:"pc001"});
pcInfo_array.push({title:"パリ:セーヌ川1", price:"\\157", code:"pc002"});
pcInfo_array.push({title:"パリ:セーヌ川2", price:"\\126", code:"pc003"});
pcInfo_array.push({title:"パリ:丘からの風景", price:"\\115", code:"pc004"});
pcInfo_array.push({title:"パリ:コンコルド広場", price:"\\157", code:"pc005"});

↓ここから記述
var ArraySize:uint = pcInfo_array.length;

for (var i:uint = 0; i< ArraySize ; i++){
  trace("Array Index=",i);
  var pcInfo_data:Object = pcInfo_array[i];

    for (var propName:String in pcInfo_data){
      trace(propName,pcInfo_data[propName]);
    }
}

    • 一応動いたんだけど出力結果が以下。

Array Index= 0
code pc001
price \126
title パリ:サン・ルイ島
Array Index= 1
code pc002
price \157
title パリ:セーヌ川1
Array Index= 2
code pc003
price \126
title パリ:セーヌ川2
Array Index= 3
code pc004
price \115
title パリ:丘からの風景
Array Index= 4
code pc005
price \157
title パリ:コンコルド広場

    • プロパティの順番が逆になってますね。popだから?
    • お手本の方もこの順番だったからまぁいいか。
  • 04-01 URLRequestクラス
    • 前にバンドのサイト作った時にここで大きく時間取られた。AS2.0の時と全然違うから。
    • がっちり基本から覚えたい。
    • 他のファイルへのリクエストを行う場合のリクエストの情報を扱うのがURLRequestクラス。
    • 書式は以下。

var 変数:URLRequest = new URLRequest(リクエストファイルのURL);

または

var 変数:URLRequest = new URLRequest();
変数.url = リクエストファイルのURL;

    • リクエストファイルのURLは文字列として指定。
  • 04-02
    • で実際にリンク先に飛ぶにはnavigateToURLメソッドを利用。以下の書式。

navigatetoURL(URLRequestオブジェクト,[ターゲット]);*1

    • ターゲットはウィンドウ名とか"_blank"、"_self"、"_parent"とかおなじの。省略した場合は"_blank"となる。
  • Let'sTRY!!
    • クリックで飛べるリンクボタンの作成。
    • 以下のスクリプトで一発OKだった。

const URL01:String = "http://vabune.com";
const URL02:String = "http://gihyo.jp";

link1_btn.addEventListener(MouseEvent.CLICK, xLink01);
  function xLink01(evt:MouseEvent):void{
    var urlReq:URLRequest = new URLRequest(URL01);
    navigateToURL(urlReq,"_blank");
  }

link2_btn.addEventListener(MouseEvent.CLICK, xLink02);
  function xLink02(evt:MouseEvent):void{
    var urlReq:URLRequest = new URLRequest(URL02);
    navigateToURL(urlReq,"_blank");
  }

*1:テキストp145にあるのは誤植っぽいのでちょっと書き換えた