Flexで四角以外のアイテムを生成するときのお話
忘れそうなのでメモメモ
丸画像に対してイベントを取得したい時など、Imageを使うと四角の領域でイベントが取得されます。
コンポーネントに対して mask 処理をしてやることで、任意の領域のみイベントの対象とする事が出来ます。
詳細はコチラ
Imageを拡張したクラスを用意して、 cornerRadius プロパティを追加。
描画更新時(updateDisplayList)に、cornerRadius の値からマスクを作成してセット。
カスタム検索
2010年8月31日火曜日
2010年8月26日木曜日
cocos2dで日本語をCCBitmapFontAtlasで使うには
ちょっとはまったんでメモメモ
cocos2dでは文字の表示に CCLabel という簡単なものがあるのですが、これが結構な重い処理となります。
スムーズな動作を必要とするゲームなどでは、BitmapFontを使うと良いです。
(逆にADV系など速度を要求しないものであればCCLabelでおk)
現時点(cocos2d v0.99.4)では標準のままでは使えません。
公式フォーラムのコチラで問題点が指摘されています。
プロジェクト内の cocos2d Sources > cocos2d > CCBitmapFontAtlas.h を編集します。
kCCBitmapFontAtlasMaxChars = 2048
を
kCCBitmapFontAtlasMaxChars = 65536
に変更
BitmapFontを作る方法ですが、Hiero Font EditorというのとBMFontGeneratorというが推奨されているようです。
BMFontはWindowsでしか動かないので、とりあえずhieroを使ってみたんですが、どうもうちではうまく動作してくれませんでした。
(出力画像が天地左右反転されたり、出力対象がコピペできなかったり、一度出力すると変更して二度目の出力が出来なかったり)
なのでBMFontを使ったやり方を紹介します。
・必要な文字を含んだテキストファイルを作成(UTF-16で保存)
・Edit -> Select chars from file で上記ファイルを選択
・Export OptionsでBit depth を 32、png 出力
・Font Settingsで Font smoothing を選択
色などはお好みで、cocos2d側でも変更が効くので特に気にする必要もないと思います。
これで出力された .fnt ファイルを CCBitmapFontAtlas で読み込んでやればBitmapFontで描画されます。
cocos2dでは文字の表示に CCLabel という簡単なものがあるのですが、これが結構な重い処理となります。
スムーズな動作を必要とするゲームなどでは、BitmapFontを使うと良いです。
(逆にADV系など速度を要求しないものであればCCLabelでおk)
現時点(cocos2d v0.99.4)では標準のままでは使えません。
公式フォーラムのコチラで問題点が指摘されています。
プロジェクト内の cocos2d Sources > cocos2d > CCBitmapFontAtlas.h を編集します。
kCCBitmapFontAtlasMaxChars = 2048
を
kCCBitmapFontAtlasMaxChars = 65536
に変更
BitmapFontを作る方法ですが、Hiero Font EditorというのとBMFontGeneratorというが推奨されているようです。
BMFontはWindowsでしか動かないので、とりあえずhieroを使ってみたんですが、どうもうちではうまく動作してくれませんでした。
(出力画像が天地左右反転されたり、出力対象がコピペできなかったり、一度出力すると変更して二度目の出力が出来なかったり)
なのでBMFontを使ったやり方を紹介します。
・必要な文字を含んだテキストファイルを作成(UTF-16で保存)
・Edit -> Select chars from file で上記ファイルを選択
・Export OptionsでBit depth を 32、png 出力
・Font Settingsで Font smoothing を選択
色などはお好みで、cocos2d側でも変更が効くので特に気にする必要もないと思います。
これで出力された .fnt ファイルを CCBitmapFontAtlas で読み込んでやればBitmapFontで描画されます。
2010年8月4日水曜日
今そこにあるpaypal
paypalが日本での本格展開を始めると言う事で、早速使ってみた。
使い始めるまでの準備をザックリと。
1.Paypalにサインアップする。
本番用と練習用(sandbox)では、別々にアカウントをセットアップする必要があるので注意。
2.sandbox内で使えるアカウントを作成する。
テンプレで作成出来るが、日本語アカウントはマニュアルで作るしかない。
ビジネスでセットアップすれば架空のカード番号が入力されるので、そのままセットアップする。
3.APIのアカウントを取得する
個人設定>APIアクセス>オプション2のAPI証明書を取得する
4.エクスプレスチェックアウトを有効にする
上と同じ所から有効にできる。
レガシーなウェブペイメントorメール決済を使う場合は必要ない、けどエクスプレスチェックアウトを推奨
上記に加え、本番アカウントならカード認証やら口座設定やらをしておく。
新しくはじめるなら、paypalのAPIに対応したカートを使うのが一番簡単。
APIのアカウントを設定するだけでいけるはず。
それではおもしろくない(?)ので、一からAPIをつついてみた。
APIではSOAPとNVP(Name-Value-PairただのPOST通信)が使えるらしいので、もっとも汎用的っぽいNVPをチョイス。
APIのURLや詳細はまずそうなので伏せるとして、流れは以下の通り。
1.SetExpressCheckout
今から支払いスルヨー!とpaypalに宣言する。
オプションでアカウント不要とか、画面表示を変えたりとか出来る。
APIコールに問題なければTOKENが返ってくるので、ユーザ向けページへTOKENを付けてリダイレクトする。
2.GetExpressCheckoutDetails
指定した戻り先のページに戻ってきたら、このAPIを実行。
ユーザがpaypalのページで入力した情報を取得する。(住所とか。クレジットカード番号は取得不可。)
3.DoExpressCheckoutPayment
決済処理の確定。
だんだんめんどくさくなってきたのでこの辺で終了。
paypalの利点は、他社に比べて圧倒的に安い事と、始めやすい(オンラインだけですぐ始められる)事でしょうか。
欠点としては日本での認知度の低さや、わかりにくさ(決済ページが英語表示、ユーザが日本語表示に切り替える必要がある)でしょうか。
使い始めるまでの準備をザックリと。
1.Paypalにサインアップする。
本番用と練習用(sandbox)では、別々にアカウントをセットアップする必要があるので注意。
2.sandbox内で使えるアカウントを作成する。
テンプレで作成出来るが、日本語アカウントはマニュアルで作るしかない。
ビジネスでセットアップすれば架空のカード番号が入力されるので、そのままセットアップする。
3.APIのアカウントを取得する
個人設定>APIアクセス>オプション2のAPI証明書を取得する
4.エクスプレスチェックアウトを有効にする
上と同じ所から有効にできる。
レガシーなウェブペイメントorメール決済を使う場合は必要ない、けどエクスプレスチェックアウトを推奨
上記に加え、本番アカウントならカード認証やら口座設定やらをしておく。
新しくはじめるなら、paypalのAPIに対応したカートを使うのが一番簡単。
APIのアカウントを設定するだけでいけるはず。
それではおもしろくない(?)ので、一からAPIをつついてみた。
APIではSOAPとNVP(Name-Value-PairただのPOST通信)が使えるらしいので、もっとも汎用的っぽいNVPをチョイス。
APIのURLや詳細はまずそうなので伏せるとして、流れは以下の通り。
1.SetExpressCheckout
今から支払いスルヨー!とpaypalに宣言する。
オプションでアカウント不要とか、画面表示を変えたりとか出来る。
APIコールに問題なければTOKENが返ってくるので、ユーザ向けページへTOKENを付けてリダイレクトする。
2.GetExpressCheckoutDetails
指定した戻り先のページに戻ってきたら、このAPIを実行。
ユーザがpaypalのページで入力した情報を取得する。(住所とか。クレジットカード番号は取得不可。)
3.DoExpressCheckoutPayment
決済処理の確定。
paypalの利点は、他社に比べて圧倒的に安い事と、始めやすい(オンラインだけですぐ始められる)事でしょうか。
欠点としては日本での認知度の低さや、わかりにくさ(決済ページが英語表示、ユーザが日本語表示に切り替える必要がある)でしょうか。
登録:
投稿 (Atom)