2007年12月04日
libsecondlifeサンプル - 接続と切断
思うところがあって、いったんSLのアイテム収集のほうは
注力するエネルギーを減らして、
libsecondlifeのサンプルをまとめます。といっても、分かっている範囲の、
接続・切断、残高照会(他のかたのページにあったやつの劣化コピー^^;)、
テレポート、チャットの受信、統計情報の取得、新オブジェクトの情報、
指定オブジェクトの詳細取得、といったあたりです。
まずは、環境の紹介から。
WindowsXP Home Edition SP2 (たまにWindows2000SP2)
IronPython 1.1 (1.1) on .NET 2.0.50727.832 (FePy)
libsecondlife 0.3.0 (11/30に0.3.1が出ましたが、まだ移行してません^^;。)
libsecondlifeは0.2と0.3でクラス内のメンバ名とかが大きく変わっているので、
今からやるなら0.3.1がお勧めです。
まだバージョンアップで大きく変わる時期なので、適宜追随してくださいな。
では、接続と切断のサンプルです。
1-5行目:libsecondlifeを.Net経由でロードして、この言語から使えるようにします。
6-10行目:ログインに必要な最低限の情報をあらかじめ変数に入れます。
11-14行目:ライブラリを使ってSecondLifeに接続します。
16-18行目:30秒間何もしません。
19-20行目:ライブラリを使ってSecondLifeから切断します。
ポイントは、13行目の接続、20行目の切断です。
●接続は13行目です。
client.Network.Login(firstName, lastName, passWord, '', '')
第1引数:ログインするアバターのファースト・ネーム
第2引数:ログインするアバターのファミリー・ネーム
第3引数:ログインするアバターのパスワード
第4引数:プログラム名
第5引数:メールアドレス
●切断は20行目です。
client.Network.Logout()
引数はありません。
20行程度のコードで接続、切断が可能です。
実際の処理はコールバック関数を登録して非同期で行う場合が多いです。
次はコールバック関数を使った処理を書く予定です。
P.S.ソースコードを引用文(blockquote)以外で表示する方法をご存知の方がいらっしゃいましたら教えてください。
注力するエネルギーを減らして、
libsecondlifeのサンプルをまとめます。といっても、分かっている範囲の、
接続・切断、残高照会(他のかたのページにあったやつの劣化コピー^^;)、
テレポート、チャットの受信、統計情報の取得、新オブジェクトの情報、
指定オブジェクトの詳細取得、といったあたりです。
まずは、環境の紹介から。
WindowsXP Home Edition SP2 (たまにWindows2000SP2)
IronPython 1.1 (1.1) on .NET 2.0.50727.832 (FePy)
libsecondlife 0.3.0 (11/30に0.3.1が出ましたが、まだ移行してません^^;。)
libsecondlifeは0.2と0.3でクラス内のメンバ名とかが大きく変わっているので、
今からやるなら0.3.1がお勧めです。
まだバージョンアップで大きく変わる時期なので、適宜追随してくださいな。
では、接続と切断のサンプルです。
#libsecondlifeのロード
import clr
clr.AddReferenceToFile("libsecondlife.dll")
import libsecondlife
#ログイン情報の設定
firstName = 'abcd' #苗字
lastName = 'efgh' #名前
passWord = 'ijkl' #パスワード
#接続
client = libsecondlife.SecondLife()
client.Network.Login(firstName, lastName, passWord, '', '')
#実際の処理(ここでは単なるsleep)
import time
time.sleep(30)
#切断
client.Network.Logout()
1-5行目:libsecondlifeを.Net経由でロードして、この言語から使えるようにします。
6-10行目:ログインに必要な最低限の情報をあらかじめ変数に入れます。
11-14行目:ライブラリを使ってSecondLifeに接続します。
16-18行目:30秒間何もしません。
19-20行目:ライブラリを使ってSecondLifeから切断します。
ポイントは、13行目の接続、20行目の切断です。
●接続は13行目です。
client.Network.Login(firstName, lastName, passWord, '', '')
第1引数:ログインするアバターのファースト・ネーム
第2引数:ログインするアバターのファミリー・ネーム
第3引数:ログインするアバターのパスワード
第4引数:プログラム名
第5引数:メールアドレス
●切断は20行目です。
client.Network.Logout()
引数はありません。
20行程度のコードで接続、切断が可能です。
実際の処理はコールバック関数を登録して非同期で行う場合が多いです。
次はコールバック関数を使った処理を書く予定です。
P.S.ソースコードを引用文(blockquote)以外で表示する方法をご存知の方がいらっしゃいましたら教えてください。
2007年12月04日
権利周りは感覚が分からん。
これまでやっていた、SL内のアイテム情報を集めるサイトについて、
詳しい人に意見をもらったところ、
個人のサイトでやるならいいかもしれないが、商用ではだめだよねとのこと。
投稿してもらったらいいんじゃない?とアドバイスをもらった。
商用化は特に考えてなかったが、BLOGページではなく専用ページに
しようと思ってたので、トラブルになりそうだと判断。
SL内の画像が(JPEG2000からJPEGに変換する時点で劣化があるにしても)
ほぼそのままの品質で取れるわけだし、それをうちのサイトから二次利用に
まわされても困る。
UUID教えるからキャッシュに入ってたら
ヘッダ情報とキャッシュファイルをつき合わせてJP2ファイルを
作ってねと言うわけにもいかない。
欧米風に(偏見)、まずやってしまって後から正義(?)を
勝ち取るという方法もあるんだろうが、
問題がおきてプレッシャーがかかった時に
対処している余力はなさそう。
といいつつ50x50くらいのサムネイルなら…と考える、中途半端な私です。
詳しい人に意見をもらったところ、
個人のサイトでやるならいいかもしれないが、商用ではだめだよねとのこと。
投稿してもらったらいいんじゃない?とアドバイスをもらった。
商用化は特に考えてなかったが、BLOGページではなく専用ページに
しようと思ってたので、トラブルになりそうだと判断。
SL内の画像が(JPEG2000からJPEGに変換する時点で劣化があるにしても)
ほぼそのままの品質で取れるわけだし、それをうちのサイトから二次利用に
まわされても困る。
UUID教えるからキャッシュに入ってたら
ヘッダ情報とキャッシュファイルをつき合わせてJP2ファイルを
作ってねと言うわけにもいかない。
欧米風に(偏見)、まずやってしまって後から正義(?)を
勝ち取るという方法もあるんだろうが、
問題がおきてプレッシャーがかかった時に
対処している余力はなさそう。
といいつつ50x50くらいのサムネイルなら…と考える、中途半端な私です。
Posted by march at
21:12
│Comments(0)
2007年12月04日
与太話-20071204
艦内でトラブル発生。普段はなんでもない小さな間違いが、
一度に積み重なるとダメージを受ける。
戦闘中でなくてよかった。
こんな時に弾薬があっても役に立たないが、そう豊富にあるわけではないのでとっておく。
燃料が心配だがオイルがもっと心配。
---
フットサル最終戦&閉会式に出られなくてすいません。
一度に積み重なるとダメージを受ける。
戦闘中でなくてよかった。
こんな時に弾薬があっても役に立たないが、そう豊富にあるわけではないのでとっておく。
燃料が心配だがオイルがもっと心配。
---
フットサル最終戦&閉会式に出られなくてすいません。
Posted by march at
21:10
│Comments(0)