2008/2/29 金曜日

保護中: リラックスのデザイン

カテゴリー: — gabon @ 17:43:39

この投稿はパスワードで保護されています。表示するにはパスワードを入力してください:


2008/2/25 月曜日

FLASHのタイムライン編集で複数フレームを同時に消すには

カテゴリー: — gabon @ 22:52:38

FLASHのタイムライン編集で複数の長いフレームを一気に削除する方法が分からず悩みました。。

http://deibitte-flash.seesaa.net/article/78960566.html (時間の短縮とキーフレーム削除)

に正解がありました。

SHIFT+F5」です。

FLASHのヘルプみてもうまく見つけられなかっただけに感謝です!

 

イラストレーターの素材を正しくFLASHのタイムラインに貼るには

カテゴリー: — gabon @ 22:47:29

イラストレーターの絵素材をFLASHのタイムラインに並べるとき、
読み込み→ステージに読み込み
を使うと、素材の色や模様が正しくコピーされないことがありました。

http://q.hatena.ne.jp/1150294264

にあります「アドビフラッシュとイラストレーターに付いて質問なのですが…」の解答がズバリでした!

イラストレーターでコピーし、FLASHで「編集」→「特殊ペースト」→「ピクチャ(メタファイル)」
でオッケーです!

mixiでの副管理人探し

カテゴリー: — snow @ 17:18:42

管理人業務を4年近く嬉々としてやっていたのですが体力的に限界があるなーということで参加者が多いものから手放そうと動き始めたのですが後継者を探すのに骨を折っています。 mixiはコミュニティの運営日数の三割在籍していることを管理人、副管理人の条件にしています。 一時コミュニティの乗っ取りなどが流行ったことへの対応策だと思われます。しかしながら、4年もやっちゃったコミュニティで現在も精力的に活動している人となるとこの三割ルール、きついんですよね。 この方なら!と思って日数を調べると(これまた管理人しかできないのですが)「あと460日必要です」とか出ます。がく然とします。年単位ですよ。 
ムッキーとなりますが、地道に後継者を探していこうと思います。 

2008/2/23 土曜日

ActionScript2.0でメインループから画面上のムービークリップのクリックを取得する

カテゴリー: — gabon @ 0:33:23

FLASHのActionScript2で、メインループがonEnterFrameでぐるぐる回っている場合、今までは画面にあるキャラクタのムービークリップが、クリックされた後のコードをキャラクタのムービークリップに書いていました。

この場合、クリックされた後の挙動のコードを変更する場合、いちいちキャラクタのムービーリップの.flaを開いて、編集していたのですが、そんな必要はなかったです(恥)

メインループ側はこんな構造です

_root.onEnterFrame = function() {
   毎フレームの処理
}

これに、クリックされるムービークリップ用の処理を書きます

 _root.miniCharaMc.onPress = function(){
      trace(”click!!”);
 }

 これをどこに入れるかがポイントで、

_root.onEnterFrame = function() {
   毎フレームの処理
        _root.miniCharaMc.onPress = function(){
             trace(”click!!”);
       }
}

と、ぐるぐる回るメインループに書いておかなければなりません。
ぐるくると毎回関数を登録しているようで気持ち悪い感じをうけましたが、こうしないと動かなかったです。。

2008/2/21 木曜日

複数のBackgrounDRb起動

カテゴリー: — penguin @ 18:20:21

同じサーバーにrailsapp(1),(2)があり、
railsapp(1)内で
backgroudrb(1) が起動されていて、
test_worker.rbが動いているとする。

railsapp(2)内の
backgroundrb(2)を起動させたいとき。

railsapp(2)_root/config/backgroundrb.ymlにある
port: “22222″ (デフォルト設定)
このportの番号を違う数にしたら動いた。

workerの名前はtest_worker.rbと別の名前にしないと動かない様子
testtest_worker.rbとか。

(2)でworkerの名前をtest_worker.rbにして呼んでも、

We’re sorry, but something went wrong.
We’ve been notified about this issue and we’ll take a look at it shortly.

というエラーメッセージが出る。

railsでメールタイトルが文字化ける

カテゴリー: — penguin @ 17:55:51

日本語メール送信のとき、タイトルの文字コードは
Kconv::tojis(”タイトル”)
と変換したらうまくいった。と思う。

クラスの初期データを構造体の配列で作るには

カテゴリー: — gabon @ 0:06:00

ActionScript2のゲームでクラスとして構造体でシナリオデータを持つ必要が生じて書き方で悩みました。
(もっとよい持ち方があるのかもしれませんが・・)

シナリオデータは、「歩く」シナリオや「向きを変える」などがあり、シナリオによって必要であったり不必要であったりするプロパティがあるため、必ずしも全てのプロパティを書かなくても良いflashの構造体が便利だと思いました。

また、シナリオデータをほどほどに隠蔽したい(それほどがっちり隠蔽しなくてもよいがソースはわかりやすくしたい)という思惑があり、グローバル変数を#includeするのではなく、クラスを使いたいなと思いました。

またシナリオデータはランタイムで書き換える必要がないものです。

まずは、クラスの定義です。ScenaioData.asを作り、

class ScenarioData{
 public static var Scenario:Array = new Array();

 function ScenarioData(){

Scenario.push({
KIND:”ANIME”,
CHARACTER:”hoge”,
ANIME:”TURN”,
START_DIR:”NE”,
START_EFFECT:”NASHI”,
WAIT_TIME:30
});

Scenario.push({
KIND:”ANIME”,
CHARACTER:”hoge”,
ANIME:”TURN”,
START_DIR:”EE”,
START_EFFECT:”NASHI”,
WAIT_TIME:30
});

 }
}

クラス変数の定義で、public staticとし、new Array()します。
コンストラクタ ScenaioData()の中で、実際のシナリオデータをpushしていきます

仕込む側は以上で、一方、呼び出す側は、

var scd:ScenarioData = new ScenarioData(); //<-インスタンス化してメモリに展開しておく?
ScenarioData.Scenario[1].START_DIR;

とし、アクセスします。staticなデータは、インスタンスの名ではなく、上記のようにクラス名.データ名という具合にズバリと呼び出します([1]などとせずに、順繰りにpopしてもよいでしょう)

いやはや、ハマリが解決してよかったです。

 

http://9server.net/ の最初のサンプルを参考にさせていただきました。ありがとうございます。

2008/2/16 土曜日

eval()だった・・・

カテゴリー: — gabon @ 1:18:37

時々ActionSciptな人の自分は、毎回思い出せずに悩むことがあります。

生成した文字列でムービークリップにアクセスする時がいつもそうで、 

var mcName:String = “_root.”+_global.focusSwf;

とやり、えっ〜とどうやったらムービークリップにアクセスするんだっけ。。とドキュメントをあさるのでした。

eval(mcName)._x

などと、eval関数でした。そう、eval関数・・・

2008/2/3 日曜日

FLASH2.0のクラスではまる

カテゴリー: — gabon @ 23:09:36

FLASH2.0でクラスを作るには、

javaのごとく、
Hoge.as
という名前でファイルを作り、

Class Hoge{

処理をかく

}

main.asから

test:Hoge = new Hoge()

とインスタンス化すればよいとわかりました。なにせ僕がもっていた資料が古く、functionで書いていくというやり方は、どうやら1.0のやり方でした。

上のやり方じたいはhossyさんのサンプル(サンプルでのねらいはもっと高度なことです) に感謝です!

構造ができた後、今度はソースを配置するディレクトリに悩みました。

編集→環境設定→ActionScript→ActionScript2.0の設定でクラスパス(クラスの置き場と思います)

で設定されているとこ ろにおけばいいはずなのですが、どうも芳しくなく、結局、.flaとmain.asとHoge.asは同じところに配置しました。

まずは動いたのでよしとしましょう!

HTML convert time: 0.404 sec. Powered by WordPress ME