Archives for the Month of 11月, 2009

wonderfl

wonderflって面白いですね。今まで、まだAS3書けないから・・・と思って見てなかったけど、いざ見てみると非常に勉強になる気がする!
ってか、こんなにみなさんレベルが高いのですか?それとも俺が低いだけですか?

はい、後者ですね。
とにかく、これはちょくちょく眺めて勉強しよう。
とりあえず気になったものを2つ程ご紹介。
流体パーティクル
ランダムパターンの種類を色々紹介するよ!
特にランダムパターンは勉強になる!

…気がする。

navigateToURLで相対パス

今日はひたすらAS3をゴリゴリ書いてました。
それはもうひたすらに。Tweenerの便利さを改めて実感してみちゃったり。
っと、まあそんな感じでやっていたら発見というかわかった事があったのでメモ。
navigateToURL
これが、AS3でのリンクの設定なんですが、これの使い方をあまり知らなかったので勢いでやってたら不思議なエラーに遭遇。
お仕事で作成していたサイトがあって、試しのサーバで作業をしていたんですけど本番に移す時にまたリンクを設定し直すのもめんどくさいので、僕はいつも相対パスで設定するんです。構造は自分が持ってるサーバの第2階層にフォルダを用意して展開。swfはその中にさらにフォルダを作って置いてました。
例:テストサイトのindexを「http://www.hogehoge.com/test/」に設置。さらに「http://www.hogehoge.com/test/fla/」にswfを設置。
んでまあ、TOPページのindexに貼ってあるFlashにあるボタンに

navigateToURL(new Request("/contact/"));

ってな感じで設定してみると、予想外の出来事!
新ウィンドウ+http://www.hogehoge.com/contact/」
いや、_blankで開く必要もないし、なぜドメイン直下の階層にいこうとする?
あー、最近PCの調子が悪いから・・・ってわけでもなく。
んで、まあ久しぶりにまじまじとAS3のマニュアルを読んでみると
「値を指定しない場合は、新しい空のウィンドウが作成されます。」
そんなどうでもいい部分まで変えなくても・・・。まあでもこれで_blankの謎は解けた。
けど、階層が意味がわからない。フルパスじゃないとだめですか?
で、いろいろ試した結果「/」が問題らしいということが判明。
せっかく見つけたのでいろいろ試してみたら、
「/xxx/」→ドメイン直下へ移動
「/xxx」→ドメイン直下へ移動
「xxx/」→OK
「xxx」→OK
※xxxはフォルダ名

へー、そんな仕様があるんですね。もしかして、自分が無知すぎるだけか?
まあ、とりあえず今日も一つ賢くなりました。
※追記 2009/12/07
この前同業の方と話をしたときに、このネタを話したら「スラッシュの前にピリオドいれないの?」と言われてハッ?!となりました。
予想通り、リンク先は正常に動作しました。頭にスラッシュを入れてもOKです。ただしピリオドを忘れずに!!(俺だけか・・・orz)

FireFoxとIEのliタグの違い

ちょっと作業が落ち着いたのでメモも兼ねてカキカキ。
最近よく、コーディングが引っかかるのがli要素のlist-style。
自前の画像をアイコンに使おうとするとだいたい良くないことが起こる。
IEもしくはFireFoxのどちらかに合わせるとどちらかがずれる。例えばFireFoxに合わせるとIEでは文字とかぶっているとか、IEに合わせるとFireFox側ではいなくなるとか。
li要素のpositionの解釈も違うみたいだし・・・。marginとpaddingの相殺とかも関係あるのか?
まあ厳密には突き詰めてはないんですけどね。
ひとまずいろいろ調べたり試したりしてわかった事は、単純に背景画像を使用すること。
たしかに、これなら解釈の違いはほぼないので確実だ。これからこれでやる癖をつけよう。

AS3+Amazon Web Services その3

なんとか完成しました。
結局「Keywords」のエラーは簡単なことでした。
APIに渡すときのパラメータは昇順であること。
…はい、よく覚えておきます。
んで、結局
・as3でAmazon Web Service APIを使ってみる
・AS3 in Amazon ☆ Product Advertising APIのHMAC-SHA256署名への対応
を参考にさせてもらってFlash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編]のCase14の変更箇所はこちら。

//as3cryptoの必要なクラスをインポート
import com.hurlant.crypto.hash.HMAC;
import com.hurlant.crypto.hash.SHA256;
import com.hurlant.util.Base64;

//AmazonWebSearvices関係の設定
private var accessKeyId:String = "ユーザ固有のAccessKeyID";
private var secretAccessKey:String = "ユーザ固有のsecretAccessKey";
var requestUri:String = "webservices.amazon.co.jp";
var requestPath:String = "/onca/xml";

//タイムスタンプの設定
var timestamp:String = makeTimeStamp();
var keyword:String="actionscript";

// パラメータを昇順で並べながら連結
//URLエンコードが必要なものはescape関数でエンコード
var query:String = "AWSAccessKeyId=" + accessKeyId + "&"
+ "Keywords=" + escape(keyword) + "&"
+ "Operation=ItemSearch&"
+ "ResponseGroup=Medium&"
+ "SearchIndex=Books&"
+ "Service=AWSECommerceService&"
+ "Sort=salesrank&"
+ "Timestamp=" [...]

AS3+Amazon Web Services その2

ん~、完成しません!!(泣)
まあ、署名の部分は先駆者の方々のおかげでクリアできてるんですけどね。問題はパラメータ。
パラメータの中で「Keywords」を入れるとなぜかXMLが開かない。
SignatureDoesNotMatchってエラーがでます。
んで、「Keywords」を省くと
次のパラメータのうち、最低1個がリクエストに含まれている必要があります:’Keywords’,’Title’,’Power’,’BrowseNode’,’Artist’,’Author’,’Actor’,’Director’,
‘AudienceRating’,’Manufacturer’,’MusicLabel’,’Composer’,’Publisher’,’Brand’,
‘Conductor’,’Orchestra’,’TextStream’,’Cuisine’,’City’,’Neighborhood’

ですって。
…いや、だからKeywordsを加えてもダメなんですけど?
いろいろ調べてみて「Keywords」にescapeかけてみたりするも、ダメ。
もう少し頑張ってみます・・・。

AS3+Amazon Web Servicesの落とし穴

まあ、落とし穴というか自分が知らなかっただけなのですが、Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編]を読み進めて[Case14] の「AWSを利用した3Dグラフィックメニュー」をやっていたんですけどね。
ひとまずサンプルを見てみようと思って、Amazon Web Servicesのアクセスキーを取得してレッツ、コンパイル!
…ってあれ?動かない。ストリームエラー。
いろいろ調べて、渡すパラメータがおかしいかと調べたりしましたが、「参考書のスクリプトならともかく、パラメータはまちがってるわけないじゃん?!」ってことに20分後くらいに気づきまして、AWSを調べてみると発見。
Announcement: Amazon アソシエイト Web サービスの名称変更および署名認証についてのお知らせ
あー、電子署名が必要なんですね。しかもその電子署名も、「HMAC-SHA256署名」ってのをしないといけないんですね。
当然、全然自分は知りません。こんなの。
ってことで、さらに調べてみたら既に試している方々がいるようなので
・as3でAmazon Web Service APIを使ってみる
・AS3 in Amazon ☆ Product Advertising APIのHMAC-SHA256署名への対応
を参考にさせてもらって、書籍のサンプルを改造してみようと思います。
出来あがったら載せる予定・・・。

コンストラクタ以外にインスタンス化が試行されました。

見たことないAS3のエラーがでたのでメモ。
TypeError: Error #1007: コンストラクタ以外にインスタンス化が試行されました。
どういう意味ですか?
ググってみると、「クラス名と同じ変数名があるため」とか「クラス内で別クラスをnewするときのタイプミス」とか「単純なタイプミス」とかあったので、自分の書いたコードをチェック。
自分の場合は、エラーチェックはコードをブロックごと削ってエラーが発生するかどうかをまず試します。
ホントはtryとかデバッグとかの方がいいんでしょうけどね。
自分の場合はタイプミスが結構あったりするので、まずはこの方法。
んで、やっぱり予想通り下記の箇所を発見。

timer = new Timer[33];

はー。

timer = new Timer(33);

こうでしょうよ!
こんな間違いするはずないんだけどなー。勝手にエディタ側で変換された?
まあ、兎に角これでエラーは解消。
ただのタイプミスなら、シンタックスエラーで出力してくれんかね?Flash君。

タイトル変えました。

もう?って感じでタイトルを変更しました。
って、まあこんなブログ見てる人はいないと思うので大して問題ないか。
実は、最初に書いてたタイトルは「studiying flash」なんですけど、よーく見てみると…
stduiy i ng flash
このiはなんですかww
自分で書いといて受けました。教養のなさがうかがえますね。
んで、気がついたので正しく、「studying flash」としてましたけど、検索してみたら普通に他のサイトでありました。
他にあるタイトルを使うのはどうかな~と思い変えることを決心!(…そんな決心するほどのことか?)
んで、考えてみたけど思いつかないのでそのまま
「Flash考え中!」
こんな感じでしばらくいこうと思います。
どうぞよろしく。

子供用ゲームと思いきや・・・

さっそく適当にキャラを考えてプレイ中のDQ9。
ちゃんとDQをするのは6以来かも・・・・。
んで、どうしてもFFと比べてしまってDQは子供用のゲームってイメージが強かったんですよ。
そう思いきや、シビアなゲームですね。これ。
いやいや、よく考えてみたらステータスとかキャラメイクとかやり直しがきかないRPGとか久しぶりかも。ずっとオンラインゲーに慣れていたので、こんな正統派RPGは実に懐かしいです^^
ものすごくゲーム自体に悩む分、そんな新鮮さが楽しいw
とりあえず、今日はがんばれるとこまでやろーっと。

いきおいでドラクエ9

買ってしまいました。

ドラゴンクエストIX 星空の守り人
posted with amazlet at 09.11.17

スクウェア・エニックス (2009-07-11)
売り上げランキング: 42
Amazon.co.jp で詳細を見る

周りの知人・友人が何名かしていたのでついつい。
買う予定はなくて、今までずっとスルーしてたんですけどね。なんか、剣と魔法の世界に行きたくなってしまい、懐かしさもほしいなーと…。
まあ、買ったはいいけど自分の場合はいつもキャラ作成が決まらないんですけどねーTT
はい、だいたいのゲームでキャラ作成でよく1時間とか使ってます(爆)
適当に名前入れといて欲しいなー。じゃないと全然ゲームが始められない…(泣)ってまあ、自分が悪いんですけどね。
おかげでまだ未プレイです・・・。今日はちょっとしようかな。

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Bad Behavior has blocked 22 access attempts in the last 7 days.