2014年2月15日土曜日

毎秒

windows上のVirtualBoxのUbuntuで開発してて、
windows上で動いてるgenymotionにadbでちょっかい出したくなった。

sshd動かそうとしたけどwindows難しすぎた。

仕方ないのでUbuntuからは共有フォルダに実行するスクリプトを書き込んで、
windowsの方で毎秒ファイル監視するスクリプトを書いて、
ファイル変わってたら変更されたスクリプトを実行するようにしてみた。

ださいし平均0.5秒遅れるけど、動かないよりはだいぶまし。

2014年2月6日木曜日

cocos2dx2.xにluasocket

3beta2以降は標準で使えるようになったので不要です。

タイミング悪く2.2.2に無理やり組み込んだのでメモ。
とりあえず動けばいいと思って雑にやった。
ndkとcocosとluaの初心者なのでこんなやり方でいいのかはわからないけど一応動いた。


以下手順

luasocketに入ってる.cと.hをどっかにおく
luasocket/srcあたり
luasocket.cはluaopen_socket_coreをコピーしてluaopen_libluasocketにした。


luasocketに入ってる.luaをどっかにおく
scripts/socketあたり

socket.core.luaだけはscripts/socket.luaにして
local socket = require("socket.core")

local socket = require("libluasocket")
に変える。
cpathからsoファイル探すらしいので。




Android.mkに
include $(CLEAR_VARS)
LOCAL_MODULE := luasocket
LOCAL_SRC_FILES := .c全部

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../luasocket/src
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../scripting/lua/luajit/LuaJIT-2.0.1/src/

LDFLAGS += -lgcc -lc

LOCAL_SHARED_LIBRARIES := hellolua_shared

include $(BUILD_SHARED_LIBRARY)

って感じでlibluasocket.soを作るようにさせる。


package.cpathに追加
/data/data/org.cocos2dx.hellolua/lib/?.so

package.pathにはscriptsに対応するところを追加


require("socket")すれば使えるはず。