6月 11, 2009 0
AS3のボタンでのつまづき
さっそく、つまった。ボタンで。
AS2.0と同じ
_up、_over、_downでラベルを設定すれば、
ボタンシンボルと同じ挙動になる。
が、「押したら、_downに止まったままでボタン機能を停止する」
とオイラがよくやるが、どうしても_downに止まらず_upに戻っちゃう。
6月 11, 2009 0
さっそく、つまった。ボタンで。
AS2.0と同じ
_up、_over、_downでラベルを設定すれば、
ボタンシンボルと同じ挙動になる。
が、「押したら、_downに止まったままでボタン機能を停止する」
とオイラがよくやるが、どうしても_downに止まらず_upに戻っちゃう。
6月 11, 2009 0
先日、Progressionの良さで感動したばかりに、
いきなり仕事で使うことにした。
おいおい、大丈夫かい?
たしか、実業務でAS3さえ使ってないけど。。。
と不安しながらも、やってみる。
というかちょうど練習にぴったりの案件があったからだ。
addCommandで全体の処理の流れを作るって感じかな?
慣れるまでちょっと大変だが、
マスターしたらバグ半減?
とりあえず、自分用にaddCommandのメモ。
(DoTweenerはTraceに置き換える)
基本の中の基本、
addCommand(
new Trace(“アニメ動作1″),
new Trace(“アニメ動作2″),
new Trace(“アニメ動作3″)
);
アニメが順次流れる。
Tweenerをグループで分ける
addCommand(
[
new Trace("アニメ群1、動作1"),
new Trace("アニメ群1、動作2"),
new Trace("アニメ群1、動作3")
],
[
new Trace("アニメ群2、動作1"),
new Trace("アニメ群2、動作2"),
new Trace("アニメ群2、動作3")
]
);
「アニメ群1」が同時に「動作1」、「動作2」、「動作3」が流れて
「アニメ群1」が終わったら、
「アニメ群2」が同時に「動作1」、「動作2」、「動作3」が流れる。
これ、やりたかったよ、グループと単体のアニメを混ぜて流す。
たまに、Fuseはグループ分けできるけど、書き方がややこしいから、
Tweenerと混用してて、コードがかなり汚かった。
さらに待機はCASAのTimerクラスでやってて、
ProgressionのaddCommandなら
new Wait(“1000″);
で1秒遅延。ものすごく便利。
ある程度の規模がないと、Progressionのメリットが少ないから(逆にコードが多くなる)
「そーめん」も使ってみたいね。
でもコマンドを覚えるのが大変かも。
6月 6, 2009 0
Progression、すんげぇ〜!
Niumさんありがとう。
・ボタン追加
・ボタンが押されたら行くシーンを追加
この繰り返しでコンテンツを作っちゃうってことだね。
会社の人、ほとんどまだProgressionの存在が知らない。
ディレクターに説明したら、HTMLタグみたいな感じでFlashを作る? と、
なかなか理解が早い。
とりあえず、よくあるパターンで練習して、
早く仕事で使ってみたいね。
でもろくに3.0を書いてないオイラが
いきなりProgressionで大丈夫なのかな?
5月 12, 2009 0
note.x http://blog.r3c7.net/
すごい。とにかくすごい。ラジコンみたいなヤツが楽しい。
Saqoosha http://saqoosha.net/
近頃流行のFLARToolKitの開発者(移植者?)。
WakaZ http://wakaz.info/
主に外部モデリングソフトとPapervisionの連動記事。技術力高し。
UnitZeroOne http://www.unitzeroone.com/blog/
外国の人。Papervisionの開発者。Adobe Max2009の翌日の勉強会で、
デモをやってくれた、すごい人。
5月 8, 2009 2
星がゆらゆらと、湧いてきて、蒸発していくActionScript。
書いていて、思ったより長かった(笑)。
言い訳としてTweenerとかの外部ライブラリを使ってないから長くなったと。
諸理由で左によりながらに蒸発していく仕様になってる。
こんなエフェクト、需要があるかは分からないが一応アップしとく。
長い関数をおいといて、最後の実行だけを説明:
SetUp( 蒸発点のX座標 , 蒸発点のY座標 , 量 );
例:SetUp( 150 , 245 , 10 );
Flaファイルをどうぞ。
4月 8, 2009 2
一ヶ月ずっと、帰宅時間が
終点か朝4時の二択な日々が続いてた。
やっと、仕事が落ち付いてAS3.0の勉強でもしようっと!
簡単な実験をちょっとやってみた。
9月 26, 2008 0
ブログ更新! 一ヶ月近くの放置プレイだった。
久しぶりにAdobeのAIRサイトに行ったら、ギャラリーが出来。
だいぶ増えたね、AIRの作品。
参考書を探しても、ほとんどFlexをメインで開発してるみたい(かな?)。
Flashで作る人って、果たしてどのぐらいの割合がいるかと、
マイノリティーになることを危惧してる自分がいた。
参考例を探してたら、仲間を発見!
もっともっと、仲間が増えるように。
ちなみに、今日インスコしたAIR:Flickr Desktop Search
ブラウザとまったく変わらないが、最近家族と写真共有してるから、
入れておくと便利。
8月 20, 2008 2
お待たせ致しました。Action Scriptネタです。
しかもいきなり3.0で、っていうかAIRです。
そう、そう、あのAIRだよ。Adobe AIRだよ。
Windowsなら設定でファイルのフルパスを見れるけど、
Macはその機能がないんだよね。
仕事であのファイル、なんたらサーバーのあんたらフォルダに
突っ込んどいたよって伝えるのがなかなか大変だった。
なので、試しに簡単なものを作ってみた。
アプリの青いところに、
ファイル・フォルダをドロップすると、
フルパスが表示して、勝手にクリップボードにセットする。
あとはメーラーなり、エディタなりに貼り付けばよいのだ。
ちなみに、ソースは
// 必要なパッケージのインポート
import flash.desktop.NativeDragManager;
import flash.desktop.NativeDragActions;
import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import fl.containers.UILoader;
import flash.desktop.NativeApplication;
// ドラッグイン
this.dd.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnter);
// ドロップ
this.dd.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dragDrop);
// ウインドウの移動
this.applicationBG.addEventListener(MouseEvent.MOUSE_DOWN, moveApplication);
//終了ボタン
this.btn_quit.addEventListener(MouseEvent.CLICK, QuitMacPath);
//ドラッグインした時に呼び出される関数
function dragEnter(event:NativeDragEvent):void {
// クリップボードの取得
var dropData:Clipboard = event.clipboard;
// ドラッグ可能かどうかのチェック
if (dropData.hasFormat(ClipboardFormats.FILE_LIST_FORMAT)) {
// ムービークリップへドロップ
NativeDragManager.acceptDragDrop(this.dd);
}
}
//ドロップした時に呼び出される関数 (マウスボタンを離した時)
function dragDrop(event:NativeDragEvent):void {
// ドロップされた画像ファイルのパスを取得
var droplist:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
var ChangeWord = droplist[0].url;
//取得した文字列をデコードする
ChangeGo(ChangeWord);
}
//窓をドラッグ
function moveApplication(e:MouseEvent):void {
stage.nativeWindow.startMove();
}
function ChangeGo(hiki:String){
var escape_str:String = hiki;
var pattern:RegExp = /%¥d{2}([a-zA-Z])/g;
var unescape_str:String = unescapeMultiByte(escape_str.replace(pattern, replace_ascii));
var NewPath:String = unescape_str;
picnum.text = NewPath;
Clipboard.generalClipboard.setData(
ClipboardFormats.TEXT_FORMAT,NewPath);
}
//文字列をデコード
function replace_ascii():String {
return arguments[0].substring(0, 3) + "%" + arguments[1].charCodeAt(0).toString(16);
}
//アプリを終了
function QuitMacPath(e:MouseEvent):void {
NativeApplication.nativeApplication.exit();
}
ちなみに、パスを取得するとUTF-8 に変換されちゃうので、
Shift-JISに再変換しようとしたら、
unescapeMultiByteの不具合でつまずいた。
んで、こちらのブログに解決方法が乗ってるので、
変換関数を拝借させていただきました。
http://wakuworks.jugem.jp/?eid=113