【Lua】組み込み系言語総合【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/03/11(火) 13:02:21使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■過去スレ
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/ (前スレ)
その2 http://pc8.2ch.net/test/read.cgi/tech/1063711237/
その1 http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
0412デフォルトの名無しさん
2008/11/12(水) 01:27:300413デフォルトの名無しさん
2008/11/12(水) 06:25:360414デフォルトの名無しさん
2008/11/12(水) 07:39:32http://sugarpot.sakura.ne.jp/yuno/html/lua5_manual_ja.html#2.5.1
5.1にはあるけど。
http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html#2.5.1
5.0でもmath.modはあるみたいだからそれを使えば。
http://sugarpot.sakura.ne.jp/yuno/html/lua5_manual_ja.html#5.5
0415デフォルトの名無しさん
2008/11/12(水) 19:49:36粘菌に計算してもらえばええよ。
ttp://www.chunichi.co.jp/article/technology/science/CK2008110402000183.html
0416デフォルトの名無しさん
2008/11/12(水) 23:54:16つ math.mod
0417デフォルトの名無しさん
2008/11/13(木) 00:01:26>>414
0418デフォルトの名無しさん
2008/11/13(木) 00:03:58すまね、携帯で見てて下切れてたorz
0419デフォルトの名無しさん
2008/11/13(木) 01:39:500421デフォルトの名無しさん
2008/11/15(土) 10:58:34〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0422デフォルトの名無しさん
2008/11/16(日) 10:17:41( ・∀・) < Lua!!
⊂/ 9) \____
q( /
> >
0423デフォルトの名無しさん
2008/11/16(日) 13:06:010424デフォルトの名無しさん
2008/11/16(日) 13:06:520425デフォルトの名無しさん
2008/11/16(日) 18:36:160426デフォルトの名無しさん
2008/11/16(日) 20:12:460427デフォルトの名無しさん
2008/11/16(日) 21:31:570428デフォルトの名無しさん
2008/11/16(日) 23:07:10文法がC++なんで慣れてるってのもあるが。
ただ、AngelScriptとC++プログラムを結びつけるのを簡単に行うツールとかないのが残念。
LuaBindとかみたいなやつね。
0429デフォルトの名無しさん
2008/11/17(月) 15:01:43〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0430デフォルトの名無しさん
2008/11/17(月) 15:32:49http://d.hatena.ne.jp/SumiTomohiko/20081114/1226668855
0431デフォルトの名無しさん
2008/11/17(月) 20:00:00バインダがなくてもシームレスに利用できるのがAngelScriptの良いところだと思うのだが。
0432デフォルトの名無しさん
2008/11/17(月) 23:47:04確かに。
Luaはいまいち使いこなせなかったが、AngelScriptはその辺楽でよかった。
ただ、例えば
ASFunc<int(int,int)> f;
f.SetContext(〜);
f.SetFuncID(〜);
int val=f(a,b);
みたいな感じで、普通の関数呼び出しと同じようにAngelScriptの関数呼び出せるのがあれば便利かなーと。
0433デフォルトの名無しさん
2008/11/18(火) 20:34:35で.NETのSystem.Drawing.BitmapとかGraphicsを使って画像を読み込んで弄ったり出来るんだけど、
新規にBitmapを作る方法がわからん。
一旦画像を読み込んでそれのクローンをつくるとかいうやり方ぐらいしかうまくいかない。
0434デフォルトの名無しさん
2008/11/22(土) 08:49:08( ・∀・) < Lua!!
⊂/ 9) \____
q( /
> >
0435デフォルトの名無しさん
2008/11/22(土) 18:43:300436410
2008/11/24(月) 14:51:19UCS2は.NETでしか使ったことなかったので、ロケール失念してた。
0437デフォルトの名無しさん
2008/11/25(火) 00:12:56現在、「スクリプト言語による効率的ゲーム開発」という本を読み、
Visual C++ 2008 EE上で空のプロジェクトを作成し、
以下のソースファイルをビルドしてみたのですが、
// 以下、ソースファイル
#include <lua.hpp>
int
main()
{
lua_State* L = lua_open();
lua_close(L);
return 0;
}
LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
という警告が出ます。
かといってLIBCMTを無視するライブラリに指定するとビルドが通りません。
LNK4098のメッセージを無視する方法以外で、警告メッセージを消す方法はありますか?
0438デフォルトの名無しさん
2008/11/25(火) 00:51:29大体MTとかその辺のオプションで
0439デフォルトの名無しさん
2008/11/25(火) 09:08:48vcppでWin32向けプログラムをビルド際にFAQレベルで発生する問題だ。
Luaに限ったことじゃないのでぐぐればすぐに解決策は出てくる。
ややこしいことにvcppは複数のランタイムライブラリを持っていて、しかも各ライブラリ・プログラム生成時には原則全てあわせる必要がある。
0440デフォルトの名無しさん
2008/11/25(火) 23:22:38推測だがLuaのビルドオプションがMTでアプリ側もMDだとこの警告がでる。
この場合でもアプリのほうでLIBCMTを無視する設定にすれば大概大丈夫なはずなんだが・・・
面倒だったら、両方のランタイムをそろえてしまえばラクだけど
0441デフォルトの名無しさん
2008/11/26(水) 01:05:16>> 439
>> 440
プロジェクトの
[構成プロパティ]->[C/C++]->[コード生成]->ランタイムライブラリ
を/MDd(マルチスレッドデバッグ DLL)から/MT(マルチスレッド)に変更することで警告がでなくなりました。
おかげで少しVC++についてわかりました。
ご丁寧な回答、ありがとうございました。
0442デフォルトの名無しさん
2008/11/26(水) 01:44:50・LuaのライブラリをCRT毎に6種類全部ビルドする
・#ifdefと#pragma comment(lib,〜)で自動的にそれを選択するヘッダを作る
0443デフォルトの名無しさん
2008/11/27(木) 15:41:21確かに動的リロードはできたら便利だよなと思った。
そこでSquirrelで同じことをしようと思ったんだが、問題にぶつかった。
Squirrelの仕様だと、Classは一度インスタンスを生成すると変更不能になる。
この仕様だとSquirrelのクラスはリロードできないんだよな…
かといってdelegate使うのは、折角クラス機構があるのにどうよ?と思うんだが、
Squirrelで動的リロードを実装した人いる?
0444デフォルトの名無しさん
2008/11/27(木) 15:44:13Makefileで書けば至極簡単だが、(Luaを)プロジェクトファイルで管理したら普通の方法だとものすごく手間がかかりそうだな。
楽にやる方法何かないでしょうか。
0445デフォルトの名無しさん
2008/11/27(木) 15:45:19スクエニの小さな王国とかが動的リロードやってる
CEDEC2008で言ってた
0446デフォルトの名無しさん
2008/11/27(木) 15:45:24おそらく、いったんインタプリタを殺して最初からやり直した方が早いと思う。
0447デフォルトの名無しさん
2008/11/27(木) 16:02:33ヘッダ一発だってばさ
0448デフォルトの名無しさん
2008/11/27(木) 16:39:01やってるのか。詳細が欲しいな。
>>446
今まではまさにその方法でやってた。
色々考えてみたが、ソースに手を加えない方法ではdelegate使うしかないな。
Foo = NewClass( "Foo", SuperClass );
function Foo::foo()
{
// do something
}
のようにクラスを記述しないといけないが…
0450デフォルトの名無しさん
2008/11/28(金) 08:13:57〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0451デフォルトの名無しさん
2008/11/28(金) 17:02:22プロジェクトファイルってVCの話か?
それなら、ビルド方法のリリースやデバッグに追加して
「DLL リリース」とか「DLL デバッグ」とか作ればええよ
0452デフォルトの名無しさん
2008/12/02(火) 01:31:01色マクロに使おうとしてた俺涙目とか思ってたら>>100で既出な上、
さらに>>104で解決策が示されていた件
ありがとう>>104
0453デフォルトの名無しさん
2008/12/02(火) 10:20:36微妙に遅くなって涙目。
デバッガとかついててSquirrel便利だけど、
どっちにしようかなぁ……。
0454デフォルトの名無しさん
2008/12/02(火) 11:35:49実行に差し障りがあるレベルなら微妙とはいわなくね?
0455デフォルトの名無しさん
2008/12/02(火) 22:27:47FPSが明らかに低下したらならXtalのままにしたほうがいいと思う。
0456453
2008/12/03(水) 01:14:18Xtalだとぎりぎりで60FPS出せる。CPU使用率は1個換算で96〜98%くらい。
これがSquirrelだと52〜54FPSになって少しカクカクしてくる。
速度ならXtalということになるが、これ以上作りこむとどうせ足りなくなるのは同じで、
描画処理の枝刈りをすればSquirrelでもいけるかも……というところ。
蛇足でスマソ。
0457453
2008/12/03(水) 01:28:54jkBindってどうよ?
なんかフォーラムにパッチ上がってるみたいだけど。
0458デフォルトの名無しさん
2008/12/15(月) 19:37:58ライブラリ自作しちまったい。
やっぱり自前で書いたほうが細かく制御できていいね。
0459デフォルトの名無しさん
2008/12/15(月) 23:46:180460デフォルトの名無しさん
2008/12/17(水) 00:31:03まぁ、枝刈りも大切だと思う。
あとはココのJITとかどうかね
ttp://muffin.cias.osakafu-u.ac.jp/~matumoto/
バージョンがちょい古いけど…
0461デフォルトの名無しさん
2008/12/17(水) 01:26:17ちょうど今、vcpp向けの改修を行っているところ。
作者のスクリプト、デフォルト引数などは既に対応した。
まだメタメソッドや複数段階のクロージャの呼び出しがイマイチ不安定なので改善を図ってるところ。
近々フォーラムに発表予定。
0462デフォルトの名無しさん
2008/12/17(水) 13:44:50元にある問題点とかはそのままなの?
0463デフォルトの名無しさん
2008/12/17(水) 22:05:060464461
2008/12/19(金) 20:46:12協力者求む。
動かないスクリプトの例などがあるとうれしい。
0465デフォルトの名無しさん
2008/12/20(土) 00:09:140466デフォルトの名無しさん
2008/12/20(土) 09:07:13乙カレー
LuaはC++だとlua_call失敗時に例外投げるんだな。ちゃんと書いてくれよOTL
てっきりデストラクタ呼ばれないと思って、そういうコードを書いてたせいで
謎の挙動に悩まされたよ。
0467デフォルトの名無しさん
2008/12/20(土) 15:57:40リファレンスマニュアルの3.6にそれらしいことが書いてあるよ
Cでsetjmp/longjmp使っててもC++のデストラクタが呼ばれる処理系もあるけどね
0468デフォルトの名無しさん
2008/12/20(土) 18:03:42ほんとだ見落としてた
俺の3時間を返せorz
0469デフォルトの名無しさん
2008/12/22(月) 08:14:31〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0470デフォルトの名無しさん
2008/12/22(月) 09:22:22yieldをC++側で呼ぼうとしたとき、
toLuaの生成したラッパーの中じゃ、
lua_yieldを呼べないようなんだが、
どうしてる?
0471デフォルトの名無しさん
2008/12/22(月) 18:53:35lua が yeild をどうやって実装しているか、ソースを追っかけてごらん。
0472デフォルトの名無しさん
2008/12/28(日) 14:38:55ttp://www.igda.jp/modules/eguide/event.php?eid=58
CRIScriptの人が来るのはちょっと驚いた。
アメリカからはるばる・・・
0473デフォルトの名無しさん
2008/12/28(日) 15:41:56浜中さんの本すでに持ってる人にはあまり新しい情報は出ない気がする…
0474デフォルトの名無しさん
2008/12/29(月) 05:08:14開発した W.Dee 氏をパネリストでよぶべきだろう、とちょっと思ったけど、
よくよく考えてみればあの人はゲームは本業じゃないか……
0475デフォルトの名無しさん
2008/12/29(月) 10:57:23というか、組込み言語の話だからじゃないかな(Nスクの人がいるけど)。
0476デフォルトの名無しさん
2008/12/30(火) 09:34:59〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0477デフォルトの名無しさん
2008/12/30(火) 19:43:21ゲームとか簡易GUIが簡単に作れるHSPみたいなイメージ
0478デフォルトの名無しさん
2008/12/30(火) 19:43:560479デフォルトの名無しさん
2009/01/01(木) 16:45:20〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ O sol e a Lua!!, parabens!!!
彡、 |∪| /
/ __ ヽノ /
(___)
0481デフォルトの名無しさん
2009/01/04(日) 18:49:32/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0482デフォルトの名無しさん
2009/01/04(日) 18:59:390483デフォルトの名無しさん
2009/01/06(火) 23:35:21その状態をファイルとかに保存して、そのファイルを読み込んで復元、ってできる?
0484デフォルトの名無しさん
2009/01/06(火) 23:47:11日本語のドキュメントがないけど
ttp://luaforge.net/projects/pluto/
0485デフォルトの名無しさん
2009/01/09(金) 00:54:41d
ちょっと調べてみる。
しかし日本語マニュアルがないのは地味にきついな…
普段使ってるAngelScriptも英文マニュアルしかないし。
0486デフォルトの名無しさん
2009/01/09(金) 01:02:510487デフォルトの名無しさん
2009/01/09(金) 01:31:470488デフォルトの名無しさん
2009/01/09(金) 19:28:38のってるけど、実際はやいの?
0489デフォルトの名無しさん
2009/01/09(金) 19:39:39おめでと〜w
0490デフォルトの名無しさん
2009/01/09(金) 23:22:03日本語マニュアルはないけど、サンプルがたくさん付いてて分かりやすいのよ。
あと、LuaやSquirrelのスタック介したやり取りじゃなくて直接的にC++とやり取りできるんで便利。
ただデフォでShiftJISに対応してないけど…
0491デフォルトの名無しさん
2009/01/10(土) 08:32:24〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0492デフォルトの名無しさん
2009/01/10(土) 09:33:55気楽にやりなー
0493デフォルトの名無しさん
2009/01/10(土) 10:50:27上にSquirrelよりはやいって書いてあるよ
0494デフォルトの名無しさん
2009/01/10(土) 11:00:310495デフォルトの名無しさん
2009/01/10(土) 13:24:56Xtalも、JIT対応版を作ればLuaやSquirrelよりはやくなるけどね。
0496デフォルトの名無しさん
2009/01/10(土) 14:05:36/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0497デフォルトの名無しさん
2009/01/11(日) 20:18:260498デフォルトの名無しさん
2009/01/11(日) 20:58:340499デフォルトの名無しさん
2009/01/11(日) 21:55:53インスタンスメソッドを直接lua_registerできないですよね、いったいどうしたら良いものやら。。
ご存知のかたいらっしゃいましたら是非お教えください。
0500デフォルトの名無しさん
2009/01/13(火) 07:44:04〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0501デフォルトの名無しさん
2009/01/13(火) 12:13:07/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ まピョーん☆
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0502デフォルトの名無しさん
2009/01/14(水) 05:46:16〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ まピョーん☆
彡、 |∪| /
/ __ ヽノ /
(___)
0503デフォルトの名無しさん
2009/01/14(水) 08:14:31,' ヽ まピョーん☆
/<┃> <┃ >l _
_ l 、,,--イ | /Mヽ
/M l l ` ̄ Lノ/
i `ー l ̄
 ̄ヽ /
\ {
ヽ `ー-'ノ
`ー----''"
0504デフォルトの名無しさん
2009/01/14(水) 14:25:26ひかえてくれw
0505デフォルトの名無しさん
2009/01/15(木) 18:04:39メンバ関数呼び出しは、関数に対応した整数値とthisポインタを登録して
__call内部でswitchで対応する関数を呼び出すような実装ならしたことあるな。
もっとスマートな方法があると思うけど。
0506デフォルトの名無しさん
2009/01/16(金) 21:11:50toLuaとかluabind使うのがええよ。
自前でやるなら、テーブルなどを使うべし。
0507デフォルトの名無しさん
2009/01/16(金) 23:47:31〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua まピョーん☆
彡、 |∪| /
/ __ ヽノ /
(___)
0508デフォルトの名無しさん
2009/01/25(日) 19:50:53Windows+MinGWでやってるんだけどこれって仕様なのかな
unexpected tokenとか出るから最初何かと思ったわ
0509デフォルトの名無しさん
2009/01/26(月) 00:02:51自分の所では普通にビルドして実行できてるな。
ちなみにWindows+VisualStudio2005。
あと、全角文字使ってない?
0510デフォルトの名無しさん
2009/01/26(月) 09:10:32半角英文字しか使ってないよー
void main() {
return;
}
これでエラー出たんだぜw
普通に実行できるということはライブラリ自体のビルドに問題があったのかな
なんでだろう、Linux環境と誤認してるのか?
0511デフォルトの名無しさん
2009/01/26(月) 10:02:50■ このスレッドは過去ログ倉庫に格納されています