ActionScript3.0はじめました

こんちわっす。
お久しぶりの書き込みです。

さて、いい加減勉強しないとなぁ、と思ってたActionScript3.0ですが、やっと始めました。
これまで、本をちょこっと読んだり、ちょっとだけさわったけど、毎日の仕事が忙しくて、あまりちゃんと勉強してませんでした。

さて、やるぞ!と思って最初に読んだのはこちらの本。
図解が多く、なんだかわかるような気がします。
AS3は英語の文字が多くて尻込みしちゃうので、図解は大事です。

基本からしっかりわかるActionScript 3.0 (Web Designing BOOKS)
森 巧尚
毎日コミュニケーションズ

このアイテムの詳細を見る

次に、細かい事をしりたいとか、あの機能はAS3ではどうなった?とか、全体の情報が知りたくなったので、辞典を購入。

ActionScript 3.0辞典 [FlashPlayer10/9対応]
伊藤 のりゆき,大重 美幸,野中 文雄,植木 友浩,林 拓也
翔泳社

このアイテムの詳細を見る

まだ各ページのタイトルを眺めただけですが、新しい街にいって、散歩する感覚に似ています。
さて、ずいぶん遅く始めましたが、周回遅れで頑張っていきたいと思います。

HSPプログラミング入門できました

ココでの告知を忘れてたので、一応。
Flashネタではありませんが。

私が参加しているHSPの本が出来ました。
すでに発売してます。
まだ、本屋では見かけてないなぁ。

今回、内容をかなり書き直して、さらにゲームのサンプルなどもくわえました。
Windowsでちょっとしたプログラムを作ってみたい、という方にオススメです。

HSPプログラミング入門

秀和システム

このアイテムの詳細を見る

FlashLiteで上下キーを使う

1.メニューを作る

FlashLite1.1でTOPページだったり、何らかのメニュープログラムを作る。
このときに問題になるのは上下キー問題だ。
他のキーは単純にイベントが起きて入力出来る

例:

on (keyPress "0") {
    gotoAndPlay("main");
}

こんな感じ。
FlashLiteの場合、端末のキーを押した処理を”ボタン”のスクリプトに書く必要がある。

でも、この方法では上下キーは処理できない。
困った。

さて、そこで上下キーを押すとどのような動きになるかを調べてみよう。
基本的に、ボタンやテキストフィールドを順にフォーカスしていく。

フォーカスとは、ボタンなどが選択されている状態。
特に指定しないと、黄色い枠がでる。
上下キーを押すとこれが順に変わっていくので、その機能を利用する。

2.ボタンを3つ作る

判定には、ステージ上にボタンを3つ配置する。
それも縦に配置する。
そして、それぞれに各スクリプトを書く。
サンプルでは画面右下に配置している。

//上に置くボタン
on (rollOver) {
    if (old_btn == 1) {
        btnflag = true;
    }
    if (old_btn == 2) {
        btnflag = false;
    }
    call("mcmove");
    old_btn = 0;
}

//中に置くボタン
on (rollOver) {
    if (old_btn == 2) {
        btnflag = true;
    }
    if (old_btn == 0) {
        btnflag = false;
    }
    call("mcmove");
    old_btn = 1;
}

//下に置くボタン
on (rollOver) {
    if (old_btn == 0) {
        btnflag = true;
    }
    if (old_btn == 1) {
        btnflag = false;
    }
    call("mcmove");
    old_btn = 2;
}

上ボタン 0
中ボタン 1
下ボタン 2

と番号をつける。

最初は中ボタンに注目。

前回、”2”だった場合はbtnflag=trueとなっている。
上方向に動いた場合には、trueになる。
逆に、前回”0”だった場合はfalseになっている。

ボタンが2つだけだと、常に01010とボタンの番号が変化するだけなので、上下どちらのキーを押したかを判別できない。

文字だけだとわかりにくいので、サンプルで動きを確認して欲しい。
ボタンのフォーカスは黄色で表示される。

今回のサンプルでは、わざとこの状況を見せているが、
_focusrect=false;
という命令をスクリプトの始めに挿入しておくと、フォーカスの枠は表示されない。

3.結果の反映

入力した結果をmcmoveで表示に反映する。
サブルーチンmcmoveは、専用に1フレーム用意したスクリプトだけのフレーム。
callで呼ばれると、そのフレームのスクリプトのみが呼ばれる。
call先の1フレームが終わると、処理が戻る。

そのサブルーチンで最大値/最小値のチェックと、フレーム毎に数字を書いたmcの切り替えを行う。
サンプルでは1〜5で動き、数字はループしない。

サンプルムービーはこちら
http://hspcenter.com/i/sample/menu.swf

PCとMacで試すときは、1度画面をクリックしてムービーをアクティブにしてから、TAB(下キー)、SHIFT+TABキー(上キー)として実験できる。

flaファイルはこちら
http://www.hspcenter.com/i/fla/menu.zip

FlashでiPhoneアプリ

iPhoneFlashのビッグニュースが!

前の記事にも書きましたが、FlashCS5からiPhone用アプリをパブリッシュ出来るようになるようです。
http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/#demo

日本語の記事はこちら
・『iPhone』アプリの作成が可能な『Flash Professional CS5』登場
http://japan.internet.com/allnet/20091006/10.html

iPhoneのブラウザでFlashが再生出来るようになるわけではなく、アプリを作れるという事です。
Flashを10年近くやってるオジサンとしては、かなりの期待ですよ!

簡単になるおかげで品質の低いアプリが多くなると危惧する人もいるようですが・・・まあ、それはしかたないというか、その分すばらしいアプリも登場すると思います。

携帯端末でもフルFlash

Flash Player 10.1」発表、携帯端末でもFlashがフルに動作(BBwatch)
http://bb.watch.impress.co.jp/docs/news/20091005_319716.html


アドビ、「Flash Player 10.1」を発表--スマートフォンネットブックに対応(Cnet)
http://japan.cnet.com/news/tech/story/0,2000056025,20401073,00.htm

>Flash 10.1のパブリックデベロッパーベータは、「Windows Mobile」「Palm webOS」向け

という事で、スマートフォン用のFlashの情報です。
日本では全く話しを聞かないPalmがちょっと元気そうですね。

で、実際日本で発売するケータイが対応するか?といえば、ほとんどのケータイは対応しないんだろうなぁと思います。
対応するのは一部のスマートフォンだけでしょうね。
そしてiPhoneが対応するかは、まだ微妙です。

[追記2009/10/06]
対応予定端末は
Google Android
Blackberry
Symbian
Palm webOS
Windows Mobile

上記のプレイヤーはiPhone対応予定はないようです。
しかし、iPhoneでは別のビッグニュースが!
FlashCS5からiPhone用アプリをパブリッシュ出来る計画があるもよう。
http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/#demo
これは期待です。

FlashLiteの本

研究用にFlashLiteの本を購入。
今まで見た中で一番ちゃんとしてる本、だと思う。
お勧めです。

Flash Liteで作る携帯コンテンツ実践教科書 (Web Designing BOOKS)
東條 雅樹,岡田 昇三,よしだ ゆたか
毎日コミュニケーションズ

このアイテムの詳細を見る

FlashAS3の本

AS3に挫折しまくっていたので、一番簡単なAS3の本を購入。

結局知ってる事も多いんだけど、もれがないように最初から勉強中。
まだ最初だけですが・・・

・図解が多くて、解説書の書き方の参考にもなりそう。
・実際に試して動きを見る−>解説という流れが納得できる。
・クラス定義などのワケのわからない呪文をちゃんと解説。

という感じで、今までActionScript3に挫折した人にお勧め!

基本からしっかりわかるActionScript 3.0 (Web Designing BOOKS)
森 巧尚
毎日コミュニケーションズ

このアイテムの詳細を見る