Tumgik
mezumona · 9 years
Text
BMSE を OSX 10.9, 10.10 で使う方法
NXwine をインストール
http://matome.naver.jp/odai/2137964270703110101
Visual Basic 6.0 をダウンロード
http://www.microsoft.com/ja-jp/download/details.aspx?id=9183
Visual Basic 6.0 のインストール
/Applications/NXWine.app/Contents/Resources/bin/cabextract -F vcredist.exe Vs6sp6.exe
/Applications/NXWine.app/Contents/Resources/bin/wine vcredist.exe /Q
必要な MXCOMCTL.OSX, COMDLG32.OCX を抽出
/Applications/NXWine.app/Contents/Resources/bin/cabextract -F MSComCtl.CAB Vs6sp6.exe
/Applications/NXWine.app/Contents/Resources/bin/cabextract -F MXCOMCTL.OSX MSComCtl.CAB
/Applications/NXWine.app/Contents/Resources/bin/cabextract -F ComDlg32.CAB Vs6sp6.exe
/Applications/NXWine.app/Contents/Resources/bin/cabextract -F COMDLG32.OCX ComDlg32.CAB
MXCOMCTL.OSX, COMDLG32.OCX を BMSE.exe と同じディレクトリにコピー
BMSE.exe をダブルクリックして起動出来れば完了。
0 notes
mezumona · 10 years
Link
cocos2d-x の CCLabelBMFont で使われる fnt に関する情報 (その2)
こちらは common センテンスに関する記述がある。
0 notes
mezumona · 10 years
Link
cocos2d-x の CCLabelBMFont で使われる fnt に関する情報 (その1)
こちらは 1 文字ごとの設定をする char センテンスの詳細を示している。
0 notes
mezumona · 10 years
Link
例えばメモリ上の char 配列を istream で読み出したりするときには、istream/ostream を拡張したくなるところだが、実際にはそれに渡される streambuf を拡張する事で実現する。
この記事では具体的にどのように拡張すべきなのかを示す。
0 notes
mezumona · 10 years
Link
iOS に関しては proj.ios_mac/ios/InfoPlist.strings を生成して設定。 Android に関しては proj.android/res/value-**/string.xml を作って app_name を設定。 (** はロケール)
0 notes
mezumona · 10 years
Text
cocos2d-x 3.0 alpha 1 において plugin を作るまでの経緯メモ (Android環境構築編)
※あくまで経緯を記したメモなので、動かないかもしれません。 以下のページを参考に作業を行いました。
How to Integrate a 3rd party SDK into Plugin-X | Cocos2d-x
Managing Projects from Eclipse with ADT | Android Developers
事前に Eclipse 及び ADT Plugin が導入済みであることを前提とします。
"libPluginProtocol" プロジェクトを読み込む
File > Import を選択
General > Existing Projects into Workspace を選び [Next] をクリック
[Select Root Directory:] を選択し、環境に合わせて "$COCOS2DX_ROOT/plugin/protocols" ディレクトリへのパスを入力。
"libPluginProtocol" プロジェクトにチェックが付いている事を確認して [Finish] をクリック
[Project Explorer] に "libPluginProtocol" プロジェクトが読み込まれていることを確認する
新しいプラグイン用のプロジェクトを作成する
File > New > Project を選択
Android > Android Application Project を選び [Next] をクリック
[Application Name], [Project Name], [Package Name] を適切に埋める
[Minimum Required SDK] を "API:9 Android2.3 (Gingerbread)" に変更して [Next] をクリック
cocos2d-x 3.0 が Android 2.3 以降を要求する様になったため
[Mark this project as a library] にチェックを入れる。
[Create custom launcher icon], [Create activity], [Create Project in Workspace] のチェックを外す
事前に "$COCOS2DX_ROOT/plugin/plugins/${Project Name}" ディレクトリを作成した上で、[Location:] に "$COCOS2DX_ROOT/plugin/plugins/${project_name}/proj.android" を入力し [Finish] をクリック
[Project Explorer] に "${Project Name}" プロジェクトが表示されていることを確認する
新しいプラグインプロジェクトの初期設定
[Project Explorer] の "${Project Name}" を右クリックし [Properties] をクリック
左カラムから [Android] を選択し、右カラムの [Library] にある [Add] をクリック
"libPluginProtocol" を選択し [OK] をクリック
"../../../protocols/proj.android" が追加されたことを確認し [OK] をクリック
[Project Explorer] から ${Project Name} > lib を右クリックし [Rename] を選択して "sdk" に名前を変更する
"flurry" など他のプラグインから "proj.android/build.xml", "proj.android/ForManifest.xml" を"${Project Name}/proj.android" にコピーする
build.xml のproject.@nameをプロジェクト名に合わせて修正する。
(例)
<?xml version="1.0" encoding="UTF-8"?> <project name="libPluginAudioEx" default="plugin-publish"> <!-- 省略 --> </project>
ForManifest.xml を AndroidManifest.xml のように権限や使用するアクティビティに合わせて修正する。
(例; 権限もアクティビティも必要としない)
<?xml version="1.0" encoding="utf-8"?> <manifestConfig xmlns:android="http://schemas.android.com/apk/res/android"> </manifestConfig>
(例; インターネットへ接続する権限及びネットワーク状態の取得する権限が必要な場合)
<?xml version="1.0" encoding="utf-8"?> <manifestConfig xmlns:android="http://schemas.android.com/apk/res/android"> <permissionCfg> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> </permissionCfg> </manifestConfig>
(例: インターネットへ接続する権限が必要でありかつ Activity を使用する場合)
<manifestConfig xmlns:android="http://schemas.android.com/apk/res/android"> <!-- keyword は既に必要な Activity が既に AndroidManifest.xml に追加されて居ないかをチェックするための物みたい --> <applicationCfg keyword="com.example.android.FooActivity"> <activity android:name="com.example.android.FooActivity" ....> <!-- このあたりは AndroidManifest.xml と同じように記述 --> </activity> <activity android:name="com.example.android.BarActivity" ....> <!-- ,,, --> </activity> </applicationCfg> <permissionCfg> <uses-permission android:name="android.permission.INTERNET" /> </permissionCfg> </manifestConfig>
org.cocos2dx.plugin.Analytics${Project Name} クラスを作成する
org.cocos2dx.plugin.InterfaceAnalytics インターフェイスを実装しておく
android.content.Context を引数に受け取とり保持するコンストラクタを実装しておく
(例)
package org.cocos2dx.plugin; import java.util.HashTable; import android.content.Context; public class AnalyticsAudioEx implements InterfaceAnalytics { private _context:Context; public AnalyticsAudioEx(Context context) { _context = context; } // ... }
これで環境構築はできたはずです。 …たぶん。
0 notes
mezumona · 10 years
Text
cocos2d-x/tools/bindings-generator を windows8.1 で走らせるための経緯
Python 2.7.6 (x86) をインストールする。
(実は既に 3.3.3 が入っているが後々入れる Cheetah が…。)
インストーラーを落として Python 自体はさくっと導入して、C:\Pyton27 への path も通しておく。
Python に setuptools を導入する。
ez_setup.py を落として Python に実行させるがエラー。
この記事を参考に、Python27/Lib/mimetypes.py にて
import os import sys #the following two line solve the "python ez_setup.py" install error reload(sys) sys.setdefaultencoding('CP932') #end import posixpath import urllib
とする。
"C:\Python27\Scripts" の path を通す。
pip を導入する。
"easy_install pip" を実行するだけ。
pip install pyyaml
pip install cheetah
clang を導入する。
自分はビルドするのが時間掛かると予想して、ビルドされた物 (3.3, 10th March 2013) を手に入れた
ビルドしたい人は、Getting StartedにVisualStudio 2008/2012 でのビルド方法が書かれているのでそれを参照すると良いかもしれない。
libclang.dll のあるディレクトリに path を通しておく。
以上で generator.py を実行する環境が整う。
使い方は学習中。
ひとまず、tools/tojs/genbindings.sh を動かすために試行錯誤中。
0 notes
mezumona · 10 years
Link
bindings-generator を用いて自動的にバインド用のコードを生成し、ScriptCore に関連付けるコードを書く方法及び、上記のジェネレーターを使わずに手動ですべて書く方法が順を追って書かれている。
これを用いることで、cc.*** のオブジェクト群と同じように js -> cpp の呼び出しは出来そうだ。問題は、自分は windows 環境なので、bindings-generator のための LLVM を入れるのがなんか面倒そうだな…。
0 notes
mezumona · 10 years
Text
cocos2d-x 3.0 alpha 1 javascript binding で躓いた点まとめ
AnimationCache.addAnimationsWithFile() が無い。
なぜかaddAnimationsに名前が変化していた。
addAnimationsWithDictionary の方は変化なし。
最悪 cocos/scripting/auto-generated/js-bindings を除いて API 名をチェック
Touch.getID() が無い。
例によって getId に名前が変化している。
0 notes
mezumona · 10 years
Link
Cocos2d-xを用いて開発を行っていると、デバッグ時の処理とリリース時の処理を分けたいことがあるかと思います。iOSとAndroidで同じにする場合はAndroid.mkにLOCAL_CFLAGS := -DDEBUGと記せばOKです。
0 notes
mezumona · 10 years
Text
cocos2d-x 3.0 alpha 1 の android-10 ビルドが通るまでの道のりメモ
pro.android/build_native.py の print 文に () を付けて python 3.x 対策
androidsdk/bin/android update project -p projects/myproj/proj.android -t android-10 —subprojects
androidsdk/bin/android update project -p cocos2d-x_3.0a1/cocos/2d/platform/android/java -t android-10 —subprojects
(AndroidManifest.xml に余計な configChanges が付いて阿鼻叫喚)
AndroidManifest.xml から configChanges を取っ払い、読み取り専用ファイルにする。(!?)
ant debug install
0 notes
mezumona · 11 years
Link
Ricty は Inconsolata と Migu 1M というフォントをベースとしたコーディングする際に使用するフォントにぴったりな合成フォント。
Inconsolata は欧文フォント、Migu 1M は日本語フォントであり、両者とも色々な所でプログラミング時に最適なフォントとして評価されている。
その合成フォントである Ricty だが、そのライセンスの都合上ビルドしなければならず、若干手間がかかる。 このサイトではその手順を追って説明している。
0 notes
mezumona · 11 years
Text
OpenFL にて、Flash をターゲットとしたときに、どうしても Assets から swf を読みたい時の対処法
Haxe 3 環境にて haxelib でインストールされる openfl 1,0,6 及び swf 1,0,2  では、Flash をターゲットとした場合に Assets を使うとコンパイルをすることができません。
そこで、新しいプロジェクトであれば白玉さん制作のFlashToHaxeConverterを用いると補完もちゃんとできて便利なので、これを使った方がよさそうです。
https://github.com/siratama/Flash-To-Haxe-Converter
ですが、既存のプロジェクトから swf だけを流用する場合であったり、 既に他のターゲット向けに作ってしまったためにコードの修正が困難な場合もあるでしょう。 この場合、OpenFL 自体を修正することで何とかコンパイルを通してしまうという手が使えます。
編集対象は
%HAXE_HOME%/lib/openfl/1,0,6/openfl/Assets.hx
このうち訂正するのは SWFLite を用いている箇所であり、以下のように Flash をターゲットとした場合に SWFLite クラスを使わないように修正します。
package openfl; ... #if swf #if !flash  // add import format.swf.lite.SWFLite; #end  // add #if !js import format.SWF; #end #end ... class Assets { ... // fix // #if swf private static var cachedSWFLiteLibraries = new Map<String, SWFLite>(); #end #if (swf && !flash) private static var cachedSWFLiteLibraries = new Map<String, SWFLite>(); #end ... public static function getBitmapData(id:String, useCache:Bool = true):BitmapData { ... if (AssetData.type.exists(id) && AssetData.type.get(id) == IMAGE) { ... } else if (id.indexOf(":") > -1) { ... if (AssetData.library.exists(libraryName)) { ... #if !flash // add if (AssetData.library.get(libraryName) == SWF_LITE) { return getSWFLiteLibrary (libraryName).getBitmapData (symbolName); } #end // add ... } ... } ... return null; } ... public static function getMovieClip(id:String):MovieClip { ... if (AssetData.library.exists(libraryName)) { ... #if !flash // add if (AssetData.library.get(libraryName) == SWF_LITE) { return getSWFLiteLibrary (libraryName).createMovieClip (symbolName); } #end // add ... } ... return null; } ... #if !flash // add private static function getSWFLiteLibrary (libraryName:String):SWFLite { ... } #end // add ... } ...
この修正をすると、openFL を使用するすべてのプロジェクトで Flash Lite のアセットは使用できなくなる (と思う) ので、どうしてもビルドしたいときにこの手法を使い、Assets.hx のバックアップを取っておくなどの注意をしておいてください。 何か起きても責任は負いませんよー。
0 notes
mezumona · 11 years
Text
Windows にて AVD (Android Virtual Device) が PANIC と出て起動できないときの対処法
自分は、ユーザーディレクトリを C: 以外に移していることが原因。
自分の環境では
mklink /J D:\Users\mm\.android\adv C:\Users\mm\.android\adv
とすることで解決。
0 notes
mezumona · 11 years
Text
openfl で target を android にした時 arm-linux-androideabi-g++.exe コマンドが見つからないと言われた時の対処法
最初に見つけたのは openfl の事を色々調べている白玉さんのバッテンラボラトリーのこの記事 http://www.dango-itimi.com/blog/archives/2013/001189.html だが、setenv を追記しても状況は変わらず。 その後、たまたま拾い上げたこの記事が役に立つ。 http://www.rocketshipgames.com/blogs/tjkopena/2013/07/haxe-3-openfl-arch/
この記事によれば、%HAXE_HOME%\lib\hxcpp\3,0,2\build-tool\android-toolchain.xml にて android toolchain のバージョンを指定するところがあるのだが、 これが古いバージョンを示しているので <set name="TOOLCHAIN_VERSION" value="4.8" unless="TOOLCHAIN_VERSION" /> と書き換えたところ動くようになった。
あ、この時点で上手く行かない場合は android 2.2 (API 8) の SDK Platform をインストールすれば大丈夫だと思うよ。
0 notes
mezumona · 11 years
Link
要は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation
というキーの中にある文字列値を弄ればいい。
Logo
製造元ロゴとして表示するbmpへのパス
120 * 120px 以外は拡縮される
32bit カラー 可能 (RGBA)
Manufacturer
製造元の名称
Model
モデル番号
いわゆる型番
SupportPhone
OEM サポートの電話番号
SupportHours
OEM サポートの受付時間
SupportURL
OEM サポートの Web サイトへの URL
HelpCustomizedを有効化させるなら、WAIKとか使わないと面倒そう。
0 notes
mezumona · 11 years
Link
blender のアドオンである Bsurface を使ってリトポロジをする方法の簡易的な解説。sculptris でコネコネしたモデルをきれいにするときやハイポリからローポリを作るときに使えるだろう。
0 notes