Home

くだらないページ

FlashDevelopでActionScript3.0のリファレンスを呼び出す

リファレンスの事

FlashDevelopのF1キーを押して呼び出すヘルプは、デフォルトでGoogleに検索をかけていますが、いまいち検索結果を選ぶ一手間が掛かります。

今更ですが、何かいい方法をと探した結果。XXDoc.htmを使ってローカルに保存してあるリファレンスを呼び出す方法を見つけました。
ところが、起動パスにスペースが入っていると上手くブラウザが起動しない。ダブルコーテーションでパスを囲っていてもスペースで途切れてしまうので面倒で見送り。

他には、Doc?でローカルにリファレンスを保存してFlashDevelopからテキストを出力してDoc?に反応させる方法。しかし、結局はDoc?に検索をさせているので、一手間は掛かります。

ローカル保存したAS3リファレンスのブラウザ表示 また、丸ごと保存するツールを使ってローカルに保存したリファレンスでも、パッケージやクラスの一覧が表示されません。

リファレンスサイトを一発で参照したい

ローカル保存は諦めるとして、一発でリファレンスサイトを参照したいと言う希望を叶えるべくバッチファイルを書いて見ました。

@echo off
set URL=http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/
set TMP=%1
set PKG=%TMP:.=/%
if %PKG%==%TMP% goto toplevel
start %URL%%PKG%/%2.html#%3
exit
:toplevel
start %URL%%2.html#%3

asdoc.batと言うバッチを作ったら、FlashDevelopのツール→環境設定→AS3Context→Documentation Command Lineに

cmd;/c (保存したパス)asdoc.bat $(ItmTypPkg) $(ItmTypName) $(ItmName)

と入力します。

問題点は、プロジェクト内のクラスや追加したライブラリの場合そのパッケージ名のパスにアクセスしようとする事です。出来ればバッチの中で抑制したいですね。

今年もよろしく

遅ればせながら新年の挨拶を。

年賀状はSculptris alpha 6でモデリングとレンダリングをしてます。あのレンダリングはウインドウサイズまでのサイズしかレンダリング出来ないので、全画面でも印刷用には微妙な所ですが少し頑張って300dpi程度にはなってると思います。

去年の8月ごろからAS3へ移行を始めてぼちぼち書いてますが、こんな事ならさっさと始めていればよかったw
分からないことが多すぎですw

スライドショー

スライドショーの話題を目にしたので、ParaFla!で簡単にスライドショーが作れるASを書いて見ました。

サンプル

サンプルのプロジェクトをダウンロードしてzipを展開した後、slideshow.pflをParaFla!で開くとslideshowと言うスプライトがあります。

スプライトの中は、表示する画像が1フレームずつ並んでいるだけです。ファイルリストから配置したまま、サイズや位置は変えていません。
ファイルリストを複数選択してイベントリストにドラッグするだけの簡単なお仕事で十分です。

メインのタイムラインの最初にアクションを挿入してアクションスクリプトにします。アクションスクリプトを編集して、

#FILE "slideshow.as"

と入力します。サンプルではすでに入力してあります。

プレビューをするとスライドショーになっています。

カスタマイズ

少しだけ、自分のプロジェクトに合わせてカスタマイズする部分があります。

slideshow.asをテキストエディタで開いて編集します。

//設定ここから
var slideName = "slideshow"; //スライドショーにするスプライトのインスタンス名
var wait = 3; //次の画像を表示する時間(秒)
var rand = true; //ランダム表示にするか
var effectType = ""; //トランジションのエフェクト名(""でランダム)
var fps = 30; //プロジェクトのfpsと同じにする
var useBackgroundImage = false; //背景に画像を置いているか
var backgroundColor = 0x000000; //プロジェクトの背景色
//設定終わり

ここの部分を書き換えます。
簡単にはwaitで秒数を指定と、fpsでプロジェクトのプロパティのfpsと同じ値を、backgroundColorでプロジェクトのプロパティの背景色と同じ値を入力します。
メインのイベントリストでアクションスクリプトの前に画像を固定で追加した場合、その画像が背景になります。useBackgroundImageのfalseをtrueに変えてください。

slideshowのスプライトに配置した順番にスライドショーを表示する場合は、randのtureをfalseに変えます。

ダウンロード

サンプルのダウンロード 

AIR for AndroidのアプリケーションID

AIR3にてAndroidとiOS用のプロジェクトが共通化出来る事を期待して、FlashDevelop上で開発を始めようとしたのです。
しかし、AIRアプリケーションIDで少々つまづいたのでメモにしときます。

Androidのパッケージ名は通常ドメイン名を逆にするように指示されているらしいのでそのようにしています。
このサイトのドメインだと、net.ku-daになりますが、ハイフンは許可されないのでアンダースコアに変えるように指示されています。
つまりnet.ku_daですね。

AIRのアプリケーションIDは逆にハイフンは許されていて、アンダースコアは使えません。 そこで、アプリケーションIDをハイフンにしておくのですが、AIR SDKがパッケージ時にハイフンをアンダースコアに自動で変えてパッケージ名にしてくれます。
しかし、FlashDevelopはハイフンのままをパッケージ名として起動しようとするので、起動に失敗します。

SetupApplication.batのAPP_IDだけ書き換えてもいいと思いますが、コンパイル時にFlashDevelopのバッチは 、APP_IDがapplication.xmlのidタグにあるかチェックしているので、このチェックを外すかしなければなりませんが、折角チェックをしてくれるのだからそのままにしておきます。

なのでRun.bat中のAndroidアプリ起動部分を

adb shell am start -n air.%APP_ID%/.AppEntry
↓
adb shell am start -n air.%APP_ID:-=_%/.AppEntry

と、App_IDのハイフンをアンダースコアに置換しておけばOKです。

蛇足

AIRのパッケージャはパッケージ名の先頭にair.を付け足してくれるのでガッカリしますね。AIR製アプリかが判別付くので親切なのかも?

Adobeでは変え方も指示しているので、嫌ならば変えればいいのですが。

サブフォルダ

ExtendScript Toolkit2

PhotoShopで、フォルダ内画像を自動処理をするためにアクションではファイル名による選別が不可能なため、Javascriptを利用しようと思い立った。

ExtendScript Toolkit2でエディタのフォントを固定幅フォントにしたら、ボールドを独自に持っていないフォントだとボールドで強調された文字の幅が変わって固定幅の意味がなさないのは気にしない事にした。Windows版のみかもしれないが。

フォルダ内処理のめどが立ったので、サブフォルダも自動で処理したい。

サブフォルダ

Folder.getFiles()で、正規表現にてフォルダを検索していたのだが、フォルダ内の全てのファイルを取得するとフォルダも一緒に列挙している様子。

戻り値のArrayに、FileとFolderの両方のオブジェクトが入っている。

function foo(files){
    for(var i = 0;i < files.length;i++){
        if(typeof(files[i].getFiles) == "function"){
            //Folderなので再帰
            foo(files[i].getFiles());
        }else{
            //Fileの処理
        }
    }
}

こんな感じに、再帰でサブフォルダを処理してみた。

クソゲーの秘密

ゲームにおいてのコラボレーション

前々から、コロいぬさんと一緒にゲームを作りたかったのですが、余りチャンスは有りませんでした。

ゲームにおいてのコラボレーションとは、素材ごとで担当するパターンが多いかと思います。コードとグラフィック、サウンド等々。もちろんその素材にキャラクターも含まれますので、アニメのゲーム化なども一パターンに含まれますね。

しかし、Flashゲームクリエイターの多くは、一人でゲームの全てを賄う人が多いのですね。サウンドだけ借りてくる場合も多く見受けられますけれども。

そうした時に閃いたのは、ステージの一つ一つを各人で作ってしまうという方法でした。それぞれのステージがアクションであったり、シューティングであったりでスコアアタックをするものです。

そんな事を夢想していたのですが、気が付いたらParaFla!感謝祭の2週間前。何かするのか!しないのか!

突貫

2週間で作れそうな企画を急遽でっち上げてみました。

いつもSkype麻雀をしているParaFla!メンバに話をした結果、3人が少なくとも1ステージづつ作れば最低限のゲームになると踏んだわけですが、複数人数で作成して後でプロジェクトファイルを合成するのは、ゴチャゴチャになるのが予見され、統一感を喪失すると思われたので、ゲームの基本的な部分をシステムに任せて、システムからコールされた時に動作する外部swfをミニゲーム一つづつ作る事になりました。

5秒や10秒程度のミニゲームでクリックだけなら一発ネタのみで形になりそうです。メイドインシリーズを意識せざるを得ませんが、どちらかと言うと昔のワンキーゲームのノリです。

なお、僕が3個、コロいぬさんが4個、ShoyoFILMSさんが1個作っています。

サウンドまで手が回りそうに無かったので、やはりSkype麻雀仲間のトミーさんに曲を作ってもらいました。

なんとか一つのゲームとして楽しめるものになったのでは無いでしょうか?

クソゲーアタッカー(仮)

第7回ParaFla!感謝祭参加

※ランキング始めました

クソゲーアタッカー(仮)ゲームで遊ぶ

遊び方

クリックをするだけの簡単なお仕事です。詳しくはWEBで。

タイトル

タイトル画面左下のスピーカーをクリックすると音のボリュームを変えられます。
PLAYボタンでスタートします。

ステージ

各ステージでは、タイトルが消え始めてから残り時間が減り始めます。時間切れまでに成功させなければライフが減ります。画面下にある指令に従って、ゲームを成功させましょう。最高で100点を獲得出来ます。時間切れ、または成功か失敗が確定した時に、次のステージに変わります。

全てのステージをクリアするとレベルが上がって再び同じステージが始まります。レベル1から始まり、レベル3以上には上がりません。レベル3以降はレベル3のままループします。ステージの順番はシャッフルされています。

がんばってハイスコアを目指しましょう。

スタート時の3つのライフが全て無くなってしまったらゲームオーバーです。

ゲームオーバー

ゲームオーバー画面のENDボタンでタイトル画面に戻ります。TweetボタンでスコアをTwitterにツイートできます。

Runkingボタンでスコアをランキングに登録できます。

ランキング

ランキング画面ではランキングの閲覧とゲームオーバー時のスコアをランキングに登録します。

Name欄にスコアネームをアルファベットとかな文字等で入力します(入力できない文字は使用できません)。

Sendボタンで送信します。

参加メンバー

  • Akkii:システム・ミニゲーム・サウンド(SE)
  • コロいぬ:ミニゲーム
  • ShoyoFILMS:ミニゲーム
  • 1031:サウンド(BGM)

 

3DSのウェブブラウザ


3DSのみでWordpressに投稿してみます。 WordPressの管理ページが結構普通に使えます。 ビジュアルエディタは、テキストエリアが独自に動くので使いにくいです。一度入力すると修正できないので、HTMLエディタを使うのが無難です。
3DSのカメラ画像をアップロードは、簡単にできますが、記事に挿入するのは結構面倒。
テキストのカット&ペーストができないので、位置の変更が困難です。
まぁ、3DSでWordpressの投稿は止めておいた方がいいという結論です。

追記

3DSのブラウザでは「よく使われるタグから選択」からタグの選択が出来なかったので、PCからタグを追加しました。

のらとーく

3年前にAquesTalkのライブラリをその場で切り替えて使うツールを作りました。

当時の開発環境はVisual Basic 2008 Expressでした。

最近、メインPCを変えてOSをWindows7 x64にしたのですが、のらとーくが起動時にエラーで使えなかったのですね。

すぐにAquesTalkのDLLが32bitなので、x86用にコンパイルし直せばいいと気がついたのですが、Express版ではAny CPUでしかコンパイルできない制限があったのです。最初は、プロジェクトのプロパティのコンパイルの詳細設定で選べないので悩みましたw

調べると、コンパイル後の実行形式のPEヘッダを書き換えて対象CPUをx86にするツールがありました。

ConFlags.exeです。単体で入手はできないので、Windows SDKをインストールするしかありません。

C:\Program Files\Microsoft SDKs\Windows\v7.1\BinにインストールされたConFlags.exeを使って、

ConFlags.exe 対象ファイル /32BIT+

で、のらとーくもWindows7 x64で実行可能になりました。

AquesTalkのライセンスが当時と変わって、フリーソフトの開発でもライセンスの取得が必要になったので、修正リリースはありません。使ってる人は全然居ないでしょうけど、もし使って頂けるなら前記の方法で使用できますので試してください。

 

JetpackのSharedaddy

Jetpackの共有プラグインSharedaddyをちょっとだけ使って見たと所、悩んだ箇所を一つ。

消えない

設定→共有から、新しいサービズを追加を試していた時に、URIに渡すクエリを間違えたことに気がついて、修正しようとしたところ追加したサービスの横に▽のボタンが出ていない。
無理やりボタンのありそうな場所をクリックすると修正できそうなのですが、やっぱり保存されていない。
削除を試みるも削除されない。
もうだいぶ悩みました。

ところが、有効化するサービスの欄にドラッグすると▽ボタンが使えるようになるではないですかorz

そこからならちゃんと削除できました。

なんでそんなに悩んだんだろ(´・ω・`)

検索
Feed
なかのひと
アーカイブ
Meta

Return to page top