| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「ActionScript」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==ActionScript==
+
==[[ActionScript]]==
=====ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world=====
+
=====ブラウザで無料ではじめる[[ActionScript]] 3.0 ―It's a wonderfl world=====
 
{{amazon|4862670776}}
 
{{amazon|4862670776}}
 
=====コンポーネントリファレンス=====
 
=====コンポーネントリファレンス=====
*http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/
+
*http://livedocs.adobe.com/flash/9.0_jp/[[ActionScript]]LangRefV3/
=====Flash CS3 Reference=====
+
=====Flash CS3 [[R]]eference=====
 
*http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm
 
*http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm
 
===IDE===
 
===IDE===
====FlashDevelop====
+
====[[FlashDevelop]]====
*FlashDevelop
+
*[[FlashDevelop]]
====wonderfl====
+
====[[wonderfl]]====
*wonderfl
+
*[[wonderfl]]
 
===型===
 
===型===
 
====変数の型====
 
====変数の型====
93行目: 93行目:
  
 
===UI===
 
===UI===
====テキストフィールド、イベントハンドラ、URL送信、XML====
+
====テキストフィールド、イベントハンドラ、URL送信、[[XML]]====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html TextField]=====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html TextField]=====
 
*テキストの表示と入力用の表示オブジェクトを作成
 
*テキストの表示と入力用の表示オブジェクトを作成
100行目: 100行目:
 
*イベントリスナーオブジェクトを登録し、リスナーがイベントの通知を受け取るようにします
 
*イベントリスナーオブジェクトを登録し、リスナーがイベントの通知を受け取るようにします
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/URLLoader.html URLLoader]=====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/URLLoader.html URLLoader]=====
*指定した URL からテキスト、バイナリデータ、または URL エンコード形式の変数をダウンロードする際に使用
+
*指定した U[[R]]L からテキスト、バイナリデータ、または U[[R]]L エンコード形式の変数をダウンロードする際に使用
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/XML.html XML]=====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/XML.html XML]=====
*XML オブジェクトを操作するためのメソッドとプロパティを含む
+
*[[XML]] オブジェクトを操作するためのメソッドとプロパティを含む
  
 
=====例=====
 
=====例=====
111行目: 111行目:
 
     import flash.events.KeyboardEvent;
 
     import flash.events.KeyboardEvent;
 
     import flash.events.TextEvent;
 
     import flash.events.TextEvent;
     import flash.net.URLLoader;
+
     import flash.net.U[[R]]LLoader;
     import flash.net.URLRequest;
+
     import flash.net.U[[R]]L[[R]]equest;
 
     import flash.text.*;
 
     import flash.text.*;
 
      
 
      
144行目: 144行目:
 
             var twitter_url:String = "http://search.twitter.com/search.atom?q=";
 
             var twitter_url:String = "http://search.twitter.com/search.atom?q=";
 
             if (e.keyCode == 13) {
 
             if (e.keyCode == 13) {
                 // URLを送信し、結果を得る
+
                 // U[[R]]Lを送信し、結果を得る
 
                 twitter_url += e.currentTarget.text;
 
                 twitter_url += e.currentTarget.text;
                 var url_loader:URLLoader = new URLLoader();
+
                 var url_loader:U[[R]]LLoader = new U[[R]]LLoader();
                 // URLの結果を処理するイベントハンドラを登録
+
                 // U[[R]]Lの結果を処理するイベントハンドラを登録
                 url_loader.addEventListener(Event.COMPLETE, xml_loaded);
+
                 url_loader.addEventListener(Event.[[COM]]PLETE, xml_loaded);
 
                  
 
                  
 
                 // 送信
 
                 // 送信
                 url_loader.load(new URLRequest(twitter_url));
+
                 url_loader.load(new U[[R]]L[[R]]equest(twitter_url));
 
             }
 
             }
 
         }
 
         }
158行目: 158行目:
 
         {
 
         {
 
             txt_result.text = "";
 
             txt_result.text = "";
             var twitter_xml:XML = new XML(e.currentTarget.data);
+
             var twitter_xml:[[XML]] = new [[XML]](e.currentTarget.data);
 
             txt_result.text = twitter_xml;
 
             txt_result.text = twitter_xml;
 
         }
 
         }
166行目: 166行目:
 
[[File:0104_as_sample01.jpg]]
 
[[File:0104_as_sample01.jpg]]
 
===テキスト処理===
 
===テキスト処理===
====URIエンコード====
+
====U[[R]]Iエンコード====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#encodeURI() encodeURI(文字列)]=====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#encodeURI() encodeURI(文字列)]=====
 
*グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
 
*グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
*文字列を有効な URI (Uniform Resource Identifier) にエンコード
+
*文字列を有効な U[[R]]I (Uniform [[R]]esource Identifier) にエンコード
  
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#encodeURIComponent() encodeURIComponent(文字列)]=====
 
=====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#encodeURIComponent() encodeURIComponent(文字列)]=====
 
*グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
 
*グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
*文字列有効な URI コンポーネントにエンコード
+
*文字列有効な U[[R]]I コンポーネントにエンコード
  
<blockquote>encodeURIでは、"&"や"+"や"="などの文字をエンコードしないので、GETやPOSTメソッドで利用するときは、encodeURIComponentを使用する。こちらは、英数以外は、"- _ . ! ~ * ' ( ) "のみがエスケープされない。</blockquote>
+
<blockquote>encodeU[[R]]Iでは、"&"や"+"や"="などの文字をエンコードしないので、GETやPOSTメソッドで利用するときは、encodeU[[R]]IComponentを使用する。こちらは、英数以外は、"- _ . ! ~ * ' ( ) "のみがエスケープされない。</blockquote>
===XML===
+
===[[XML]]===
 
====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/statements.html#default_xml_namespace default xml namespace ディレクティブ ]====
 
====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/statements.html#default_xml_namespace default xml namespace ディレクティブ ]====
*XML オブジェクトに使用するデフォルトの名前空間を設定
+
*[[XML]] オブジェクトに使用するデフォルトの名前空間を設定
 
  default xml namespace = new Namespace("http://www.w3.org/2005/Atom");
 
  default xml namespace = new Namespace("http://www.w3.org/2005/Atom");
  
 
====[http://livedocs.adobe.com/flash/9.0_jp/main/00000122.html XMLオブジェクト]====
 
====[http://livedocs.adobe.com/flash/9.0_jp/main/00000122.html XMLオブジェクト]====
*1 つの XML オブジェクトは、1 つの XML エレメント、属性、コメント、処理命令、またはテキストエレメントを表します。  
+
*1 つの [[XML]] オブジェクトは、1 つの [[XML]] エレメント、属性、コメント、処理命令、またはテキストエレメントを表します。  
 
*"単純内容" を持つものと "複合内容" を持つものに分類されます。
 
*"単純内容" を持つものと "複合内容" を持つものに分類されます。
*複合内容の XML オブジェクトとは、子ノードを持つ XML オブジェクトです。
+
*複合内容の [[XML]] オブジェクトとは、子ノードを持つ [[XML]] オブジェクトです。
*単純内容の XML オブジェクトとは、属性、コメント、処理命令、テキストノードのいずれか 1 つを含んだ XML オブジェクトです。
+
*単純内容の [[XML]] オブジェクトとは、属性、コメント、処理命令、テキストノードのいずれか 1 つを含んだ [[XML]] オブジェクトです。
====XML操作クラス====
+
====[[XML]]操作クラス====
*XML 構造化情報を操作するためのクラスがいくつか含まれている。
+
*[[XML]] 構造化情報を操作するためのクラスがいくつか含まれている。
 
*2つのメインクラス
 
*2つのメインクラス
*XML : 単一の XML エレメント。複数の子エレメントまたはドキュメント内に単一値のエレメントを持つ XML ドキュメント。
+
*[[XML]] : 単一の [[XML]] エレメント。複数の子エレメントまたはドキュメント内に単一値のエレメントを持つ [[XML]] ドキュメント。
*XMLList : XML エレメントセット。兄弟エレメント (XML ドキュメント階層で同じレベルにあり、同じ親に含まれているエレメント) である複数の XML エレメントが存在する場合、XMLList オブジェクトが使用される。
+
*[[XML]]List : [[XML]] エレメントセット。兄弟エレメント ([[XML]] ドキュメント階層で同じレベルにあり、同じ親に含まれているエレメント) である複数の [[XML]] エレメントが存在する場合、[[XML]]List オブジェクトが使用される。
 
====[http://livedocs.adobe.com/flash/9.0_jp/main/00000129.html#wp308634 階層構造内の移動]====
 
====[http://livedocs.adobe.com/flash/9.0_jp/main/00000129.html#wp308634 階層構造内の移動]====
  
196行目: 196行目:
 
====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#trace() trace(任意の数のカンマ区切りの引数)]====
 
====[http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/package.html#trace() trace(任意の数のカンマ区切りの引数)]====
 
*デバッグ中に式を表示、またはログファイルに書き込み
 
*デバッグ中に式を表示、またはログファイルに書き込み
*[Flash Debug Player] [FlashDevelop で 利用するには]
+
*[[Flash Debug Player|FlashDevelop で 利用するには]]
  
 
==サンプル==
 
==サンプル==
 
===アニメーション===
 
===アニメーション===
*ActionScript アニメーション
+
*[[ActionScript アニメーション]]

2020年2月16日 (日) 04:21時点における最新版

ActionScript

ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world
コンポーネントリファレンス
Flash CS3 Reference

IDE

FlashDevelop

wonderfl

変数の型

概要
int 整数
Number 整数、符号なし整数、浮動小数点数
uint 符号なし整数
Boolean 真偽値(true または false)
String 文字列
Array 配列
Date 日付


変数

宣言

var 変数名:型 = 値;

オブジェクト指向

継承

extends
public class SubSprite extends Sprite {
}

API / コンポーネント

グラフィック

表示リストの基本的要素 Sprite

パッケージ
  • flash.display
概要
  • 表示リストの基本的要素
  • グラフィックを表示でき、子を持つこともできる表示リストノード
  • ムービークリップと似ていますが、タイムラインを持ちません。
  • タイムラインを必要としないオブジェクトに適した基本クラスです

線を引く

lineStyle(太さ,色)、lineTo(x,y)、moveTo(x,y)
graphics.lineStyle(5, 0x000000);
graphics.lineTo(100, 100);

0103 actionscript01.jpg

<blockquote>前の線を引き終わった終点が次の線の始点となる。線を引かずに位置を移動する場合はmoveToを利用する</blockquote>

円を書く

drawCircle(x,y,半径)
graphics.lineStyle(10, 0x000000);
graphics.drawCircle(100, 100, 50);

描画本体に別インスタンスを追加

addChild(インスタンス)
public class Main extends Sprite {
  public function Main():void {
    var h:Hoge = new Hoge();
    addChild(h); // 本体の描画処理にインスタンスを追加
    h.drawSomething();
  }
}
class Hoge() extends Sprite {
  public drawSomething():void {
     // 描画処理
  }
}

画像を読み込む

Loader

UI

テキストフィールド、イベントハンドラ、URL送信、XML

TextField
  • テキストの表示と入力用の表示オブジェクトを作成
  • SWF ファイルのダイナミックテキストフィールドおよびテキスト入力フィールドは、すべて TextField クラスのインスタンス
addEventListener(イベント名,イベントリスナー)
  • イベントリスナーオブジェクトを登録し、リスナーがイベントの通知を受け取るようにします
URLLoader
  • 指定した URL からテキスト、バイナリデータ、または URL エンコード形式の変数をダウンロードする際に使用
XML
  • XML オブジェクトを操作するためのメソッドとプロパティを含む
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.events.TextEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.text.*;
    
    public class Main extends Sprite 
    {
        private var txt_keyword:TextField;
        private var txt_result:TextField;
        public function Main():void 
        {
            // テキストフィールドを入力可能とする
            txt_keyword = new TextField();
            txt_keyword.type = TextFieldType.INPUT;
            txt_keyword.x = 50;
            txt_keyword.y = 50;
            txt_keyword.width = 200;
            txt_keyword.height = 20;
            txt_keyword.border = true;
            addChild(txt_keyword);
            // キーダウンイベントハンドラ
            txt_keyword.addEventListener(KeyboardEvent.KEY_DOWN, txt_keyword_onKeyDown);
            
            // 結果を表示するテキストフィールド
            txt_result = new TextField();
            txt_result.width = 600;
            txt_result.height = 400;
            txt_result.y = 100;
            addChild(txt_result);
        }
        private function txt_keyword_onKeyDown(e:KeyboardEvent):void 
        {
            var twitter_url:String = "http://search.twitter.com/search.atom?q=";
            if (e.keyCode == 13) {
                // URLを送信し、結果を得る
                twitter_url += e.currentTarget.text;
                var url_loader:URLLoader = new URLLoader();
                // URLの結果を処理するイベントハンドラを登録
                url_loader.addEventListener(Event.COMPLETE, xml_loaded);
                
                // 送信
                url_loader.load(new URLRequest(twitter_url));
            }
        }
        // 結果を処理するイベントハンドラ
        private function xml_loaded(e:Event):void 
        {
            txt_result.text = "";
            var twitter_xml:XML = new XML(e.currentTarget.data);
            txt_result.text = twitter_xml;
        }
    }
    
}

0104 as sample01.jpg

テキスト処理

URIエンコード

encodeURI(文字列)
  • グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
  • 文字列を有効な URI (Uniform Resource Identifier) にエンコード
encodeURIComponent(文字列)
  • グローバル関数(任意の箇所やユーザー定義クラスで使用できる)
  • 文字列有効な URI コンポーネントにエンコード

<blockquote>encodeURIでは、"&"や"+"や"="などの文字をエンコードしないので、GETやPOSTメソッドで利用するときは、encodeURIComponentを使用する。こちらは、英数以外は、"- _ . ! ~ * ' ( ) "のみがエスケープされない。</blockquote>

XML

default xml namespace ディレクティブ

  • XML オブジェクトに使用するデフォルトの名前空間を設定
default xml namespace = new Namespace("http://www.w3.org/2005/Atom");

XMLオブジェクト

  • 1 つの XML オブジェクトは、1 つの XML エレメント、属性、コメント、処理命令、またはテキストエレメントを表します。
  • "単純内容" を持つものと "複合内容" を持つものに分類されます。
  • 複合内容の XML オブジェクトとは、子ノードを持つ XML オブジェクトです。
  • 単純内容の XML オブジェクトとは、属性、コメント、処理命令、テキストノードのいずれか 1 つを含んだ XML オブジェクトです。

XML操作クラス

  • XML 構造化情報を操作するためのクラスがいくつか含まれている。
  • 2つのメインクラス
  • XML : 単一の XML エレメント。複数の子エレメントまたはドキュメント内に単一値のエレメントを持つ XML ドキュメント。
  • XMLList : XML エレメントセット。兄弟エレメント (XML ドキュメント階層で同じレベルにあり、同じ親に含まれているエレメント) である複数の XML エレメントが存在する場合、XMLList オブジェクトが使用される。

階層構造内の移動

デバッグ

trace(任意の数のカンマ区切りの引数)

サンプル

アニメーション