【Lua】組み込み系言語総合 その6【Squirrel】
at TECH
[前50を表示]
300:デフォルトの名無しさん
13/12/15 20:30:59.57 .net
ゲームの会話シーン(ノベルゲーム風)をスクリプトで記述したいんですが、
やり口としてはどういうのが良いでしょうか?
今考えているのは
・会話イベントのひとまとまりごとに1ファイルで記述する
・文章を記述する前に置換文字や会話に使用するキャラクターを定義できる
・会話シーンに必要なアクション(立ち位置、表情変更など)を記述できる
想像してるイメージとしては↓な感じです
(使用スクリプト未定なので文法やメソッド名は適当です。雰囲気が伝わればいいですが・・・)
//event1.txt
//最初に置換文字や、使用キャラクターを定義
player = data.getCharacter("主人公"); //キャラ自体を取得
sub = data.getCharacter("サブキャラ");
city = data.getString("街の名前"); //置換文字として定義
//イベント開始
startEvent();
setCharacter(sub);
message(
"いらっしゃい " + player + "さん。" + BR +
city + "にようこそ。");
//キャラクタークラスはそのまま文字置換にも使えるようにする。
//BRには改行を定義しておく。
endEvent();
//
これだとダブルクォーテーションがクドい気がするので "ようこそ$[player]さん" みたいなやり方にすべきでしょうか?
301:デフォルトの名無しさん
13/12/15 20:51:22.29 .net
そんなのは簡単な独自言語のほうが使いやすいしツールも作りやすい
安直に汎用スクリプト使おうじゃなくて、まずはユースケースを洗い出してみろ
それほどいろんな機能も自由度もいらないことがわかるはず
302:デフォルトの名無しさん
13/12/16 00:21:21.85 .net
セーブの実現性考えてつくるべし
下手に高級言語にすると死ぬ
人に使わせること考えると、プレーンテキストにタグ埋めるスタイル以外はあり得ない
303:デフォルトの名無しさん
13/12/16 00:49:52.86 .net
同意
セーブや細かい制御のことを考えると、汎用言語を使っても結局
言語内DSL的なものでデータとして埋め込むような形にしかならん
汎用言語の機能をほとんど活かせず、インタプリタを作る手間も無くならず、
ただスクリプトを書くのが面倒になるだけ
304:デフォルトの名無しさん
13/12/16 01:33:50.36 .net
途中セーブって鬼門だしな…
305:デフォルトの名無しさん
13/12/16 18:01:34.83 .net
>>299-302
ありがとうございます、セーブ完全に考えてませんでした。
途中セーブ考えると難易度かなり上がりますね。
306:デフォルトの名無しさん
13/12/16 21:48:48.52 .net
独自スクリプトなら好きなように出来るから、どうとでもなるよ
ADVゲームなんて保存しておくデータは少ないしな
307:デフォルトの名無しさん
13/12/19 20:06:48.55 .net
if文の中のwhile文の中のif文のさらに中のwhileの途中でスクリプトを停止してセーブ、ロードしてそこから再開、とか。
308:デフォルトの名無しさん
13/12/19 21:22:15.85 .net
stateパターンでも使えば?
309:デフォルトの名無しさん
13/12/19 21:35:40.70 .net
>>305
ADVは普通そんなとこでセーブする必要ないよ
もし必要になってしまってるなら設計がおかしい
310:デフォルトの名無しさん
13/12/19 21:54:56.69 .net
DSL専用の言語ってあってもいいのにな
ADVのスクリプトみたいなプル型のインタプリタを作りやすい簡単な言語仕様で
ライブラリにソース渡したら構文解析だけやってくれればいい
311:デフォルトの名無しさん
13/12/19 22:41:18.53 .net
「設計がおかしい」ってさ、
言うのは簡単だしいかにもそれっぽいけど単なる思考停止くさいよね
312:デフォルトの名無しさん
13/12/19 23:00:23.25 .net
>>308
EclipseのXtext/Xtendみたいなのでネイティブアプリに組み込める
ものがあったら俺も欲しいな。
313:デフォルトの名無しさん
13/12/19 23:01:36.14 .net
ターン制と言うか、区切りよく設計しない?
大枠のwhileループとifはあるにせよ、更にその中のwhileの中でセーブはともかくロードはやろうと思わない。
314:デフォルトの名無しさん
13/12/19 23:38:35.63 .net
任意のObjectをセーブ、ロード
↓
Object is a String ←設計がおかしい
315:デフォルトの名無しさん
13/12/20 01:55:56.71 .net
>>305
フラグでメッセージが変わる、とかいうのを複雑にしちゃったらそういうのが発生しそう。
316:デフォルトの名無しさん
13/12/20 12:14:01.98 .net
フラグで文章が変わるなら、変わる文章の手前で条件分岐するだけじゃね?
317:デフォルトの名無しさん
13/12/20 17:12:52.37 .net
変わるのがメッセージだけなら、
flg ? "msg-a" : "msg-b"
って書けるならそのほうがシンプル。
318:デフォルトの名無しさん
13/12/20 21:11:54.76 .net
それだと既読フラグがめんどい
319:デフォルトの名無しさん
13/12/21 08:21:18.69 .net
シンプルだけど読みにくい
320:デフォルトの名無しさん
13/12/22 12:54:39.25 .net
慣れの問題
321:デフォルトの名無しさん
13/12/23 08:32:10.39 .net
慣れないとダメというのがそもそもおかしい
322:デフォルトの名無しさん
13/12/23 11:28:02.04 .net
逆だよ
時間がかかってはダメというのがおかしい
だからゆっくり時間をかけて慣れることが許される
323:デフォルトの名無しさん
13/12/23 12:34:02.63 .net
>>319
俺が慣れてないからforもwhileも禁止、全部ifとgotoで、って言ってた人が昔いたぞ。
>>316
既読を管理する関数 mng_read ってのを作って、
flg ? mng_read("msg-a") : mng_read("msg-b")
とするのはどう?
324:デフォルトの名無しさん
13/12/23 22:24:13.34 .net
>>321
ADVで文章部分に関数使うとか論外だろ…
それにスクリプト打つのはド素人も想定するもんだ
325:デフォルトの名無しさん
13/12/23 22:49:00.75 .net
>>321
そんなBASICでプログラミングを覚えたジジイなんて、
玉切り落としてグズの家系を根絶やしにしてしまえ。
GOTO LESSが推奨されて何年立ってると思っているんだ
326:デフォルトの名無しさん
13/12/24 09:54:37.59 .net
IFとGOTO以外理解できないド素人も想定しなきゃダメですよw
327:デフォルトの名無しさん
13/12/24 13:19:00.89 .net
そりゃシステムの部分でわざわざGOTO使う事はないけど
シナリオスクリプトと
328:オて考えたらはGOTOは大事だろ IFとGOTOだけで書けばセーブデータの問題も解決するわけだし
329:デフォルトの名無しさん
13/12/24 13:43:33.10 .net
チャートの類をつくろうとすると、たとえADVのスクリプトでもgotoもifも禁止だね。バグの温床になる
そういった場合は、遷移は別ファイルにまとめて定義が妥当
330:デフォルトの名無しさん
13/12/24 17:08:31.18 .net
プログラムではまずありえないけど、ループのド真ん中に外から飛び込むジャンプって、
ゲームのシナリオ的にはありそうじゃない。そういうのってどうしてるの?
331:デフォルトの名無しさん
13/12/24 19:11:38.28 .net
gotoは、終了タグを省略したhtmlとか、breakしないswitchと同じだと思う
逆に言えば終了タグを必ず書くgotoなら使っていいんじゃね
332:デフォルトの名無しさん
13/12/24 19:40:46.56 .net
come from文?
333:デフォルトの名無しさん
13/12/24 20:16:45.26 .net
途中でセーブしてそこから続きが出来るようにしないのなら、どんな組み方してもOKだけどな。
334:デフォルトの名無しさん
13/12/24 21:28:56.06 .net
>>326
条件分岐使わずどうやってフラグ分岐するんだ?
>>327
そんなの見たことないが、どういうのだよ?
335:デフォルトの名無しさん
13/12/24 23:30:35.65 .net
>>331
だから別ファイル
どのシーンの次にどのシーンになるのかの
状態遷移だけを記述する言語というか
データ構造を別に準備するのさ
336:デフォルトの名無しさん
13/12/24 23:50:48.99 .net
想定してるのがどういうゲームかで違うのかも
例えばLiveMakerのシナリオ部分は文章とか画像とかの指定で
条件分岐は別になってる
シナリオ書き変えたら分岐も変わってた…なんてことはない
単純に選択肢で話が大きく分岐していくノベル用にはわかりやすくていい
でも細かいフラグ管理やパラメータ要素を入れると難しい
分岐ごとにいちいち分けて考えてたら
バグは出ない以前に途中で投げ出す可能性大
337:デフォルトの名無しさん
13/12/25 01:12:07.86 .net
適当にシナリオ用のVM作ってステートセーブさせれば良いんじゃないかな・・
338:デフォルトの名無しさん
13/12/25 07:14:27.71 .net
プレーンテキストに命令タグを挟む方式だとあかんのですか
ノベルゲーって基本テキスト主体でしょ?
逐次処理できるし、ステートの保存はフラグ一式と行番号の保存でいいし
ループ処理の構文をわざわざ用意する必要ないと思うんだけど・・・
339:デフォルトの名無しさん
13/12/25 10:33:19.18 .net
>>332
あぁ、なるほどね。
確かにそういう作り方をしてるゲームを見た事があるわ。
340:デフォルトの名無しさん
13/12/26 01:56:07.59 .net
ノベルゲーのスクリプトに、Cレベルの制御構文、クラスやコルーチンとかまで入れて欲しいとか言われた事あるわ。
341:デフォルトの名無しさん
13/12/26 10:34:40.60 .net
文章やマクロを使う部分のスクリプトはオリジナルで
クラスやコルーチンのスクリプトは組み込み言語使えば良かろ
342:デフォルトの名無しさん
13/12/26 10:38:32.16 .net
プログラミング知識がある奴用なら
爆速コンパイルのFPCでいいと思うな
343:デフォルトの名無しさん
13/12/26 10:48:29.28 .net
コルーチンはプログラミング言語では直接のサポートがない言語も多いけど、
ゲームのスクリプトとしては需要あるんじゃないかな。
たとえば、ある場所に来るたびに、その場所での「さっきの続き」とか。
344:デフォルトの名無しさん
13/12/26 11:18:48.57 .net
stateパターンでいいじゃん
オーソドックスにフラグ立てていくなりstackでやるなりでいけるでしょ
345:デフォルトの名無しさん
13/12/26 11:41:00.70 .net
手続き的なものは、スクリプトの手続きとして直接記述したいじゃない。
stateパターンというかインタプリタパターンで、その場用のミニ言語を作るんじゃなくて。
346:デフォルトの名無しさん
13/12/26 11:56:29.21 .net
コルーチンのことをIteratorと言う人とStateと言う人とInterpreterと言う人がいるけど
気分で名前が変わるくらいなら名前つけない方がよいよね
347:デフォルトの名無しさん
13/12/26 12:15:58.74 .net
いきなりどうした
348:デフォルトの名無しさん
13/12/26 12:24:14.01 .net
いや全部別のものだし
349:デフォルトの名無しさん
13/12/26 12:28:28.45 .net
>>342
> 手続き的なものは、スクリプトの手続きとして直接記述したいじゃない。
すればいいじゃない
> stateパターンというかインタプリタパターンで、その場用のミニ言語を作るんじゃなくて。
フラグ立てていくだけだからeval出来るものなら既存の言語で簡単に出来るよ
記述が冗長でという話ならpegかなんかでちょろっとgeneratorを書いてやらいい
350:デフォルトの名無しさん
13/12/28 02:26:08.74 .net
動的型のスクリプトの凄さわからなかったんだけど
クラスじゃなくって、インスタンスをバインドして
そいつがファクトリ的な関数いっぱい持ってたら
もうスクリプトの中でやりたい放題なんだね
351:デフォルトの名無しさん
13/12/28 13:42:09.78 .net
リモートでバッグが容易
かつ、お作法も確立してるので楽ちんなんだよな
352:デフォルトの名無しさん
13/12/29 23:59:20.84 .net
最近VLCビデオプレイヤの機能拡張言語がLuaだったのにやっと気づいた
353:デフォルトの名無しさん
13/12/30 00:02:51.79 .net
おめ
354:デフォルトの名無しさん
13/12/30 00:32:29.40 .net
DXライブラリでゲーム作ってて、スクリプトを組み込んでみたいんですが、
メインループ中にスクリプトをどのように組み込んでいけばいいのかまったく検討がつきません。
RPGのマップ上のイベントであれば、マップロード時にスクリプトファイルを読み込んで
イベントを関数化しておく、などは想像できるのですが・・・
それとも、主要クラスをスクリプトエンジンへバインドしてしまって
メインループ自体をスクリプト側で記述するという方法なのでしょうか?
355:デフォルトの名無しさん
13/12/30 01:54:24.29 .net
一般的には各オブジェクトのフレーム毎処理なり、メインループの段階ごとなりにスクリプト用のフックを準備して、それ経由で呼び出しされるようなイベントドリブンな書き方をすればいい。これは別に普通にCで書くのと特に変わらない
luaとかsquirrelのようなコルーチンありのスクリプトなら、メインループから、実行中のコルーチンスレッドのresumeを個別に呼び出しする形も作れる
それぞれのスレッドで suspend()するたびに
次のフレームに処理が継続されるので、UI処理書くのにとても便利
両方実装して使い分けるのも有り。いずれの場合も、参照するオブジェクトはスクリプトから見えるようにバインドする必要はでてくる
356:デフォルトの名無しさん
13/12/30 17:04:01.21 .net
>>352
ありがとうございます!
コルーチン勉強しようと思います
357:デフォルトの名無しさん
14/01/15 01:28:40.37 .net
AngelScript|Д`)ノ<遅くなったけどあけおめ。今年もスクリプトエンジョイしよう
358:デフォルトの名無しさん
14/01/15 01:32:56.88 .net
おっそーい
359:デフォルトの名無しさん
14/01/15 18:55:31.97 .net
ZekamasiScriptの登場が待たれる
360:デフォルトの名無しさん
14/01/16 23:05:15.79 .net
C++でクラス定義を公開してバインド。
Suirrelでインスタンスを生成したとき、
boost::shared_ptrを用いたインスタンスにするにはどうすればいいでしょうか。
C++とSquirrelとで共通の参照カウンタを持たせたいと考えています
361:デフォルトの名無しさん
14/01/16 23:29:03.57 .net
luaならレジストリを使ってやるから同様の逃げ道はあるだろうけど
そういうのが必要なケースってあるのかな?
設計を見なおしたほうがいいかも
362:デフォルトの名無しさん
14/01/17 00:50:30.25 .net
luabind使ってる時は自然と出来たものですから、
こっちでも使いたいなーと思ってました。
・C++でHogeクラス定義、公開
・Squirrelでインスタンス生成
・C++から公開しているオブジェクトマネージャへ登録
・C++側でさっきのHogeインスタンスを更新
みたいな構造を考えてました。
Hogeを継承したFooクラスとかも登録したいと考えてました。
設計考えてきます。
363:デフォルトの名無しさん
14/01/17 02:10:14.78 .net
対応したバインダかくだけじゃね?
squirrel側の参照カウンタとはダブるだけで共通にはならんけど動作自体は問題ない
364:デフォルトの名無しさん
14/01/17 04:46:37.29 .net
HogeをC++で定義、公開。
g_HogeManagerをC++で定義、インスタンスをSquirrelへ公開。
で、次のスクリプト関数実行。
function Func(){
local inst = Hoge()
g_HogeManager.add(inst)
}
で、C++側でg_HogeManagerの要素に対してupdateとか呼び出したいです。
Funcのスコープ抜けた時点でSquirrel側のinstの参照カウンタが0になり、
望まない形でインスタンスが破棄されてるようです。
ので、共通の形を取りたいと考えてました。
設計が悪いってのは、この周りの考え方が怪しいのかと。
365:デフォルトの名無しさん
14/01/17 04:48:04.70 .net
366:デフォルトの名無しさん
14/01/17 08:09:28.29 .net
//
/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
367:デフォルトの名無しさん
14/01/17 16:23:55.46 .net
>>361
そりやsquirrel側はC++側の参照を知らないもの。当然かと
squirrelから渡されたものは、HSQOBJECT のかたちで取得して、保持するときには sq_addref()して、不要になったら sq_release() するのが正解
368:デフォルトの名無しさん
14/01/17 18:31:37.39 .net
あ、gHogeManagerがなんのためのものかにもよるけど、addrefしたものは当然C++側でもreleaseしないと消えなくなるから注意な
メモリリークの原因になりやすい
369:デフォルトの名無しさん
14/01/22 20:05:40.98 .net
AngelScript|Д`)<ASの得意分野の話をしてると聞いて
370:デフォルトの名無しさん
14/01/31 16:55:15.38 .net
squirrelって文字列比較できないんでしょうか?
自分で関数を作るしかない?
371:デフォルトの名無しさん
14/02/01 23:19:13.62 .net
Squirrelのthreadを外部からidle状態にさせることはできるのでしょうか。
現在、threadをidle状態にさせるために、wakeupで終了条件を渡して
threadとして実行する関数内でreturnなりさせてidle状態にさせていますが面倒です。
372:368
14/02/02 00:01:58.47 .net
手法変えて自己解決しました
373:デフォルトの名無しさん
14/02/02 00:31:12.85 .net
(´\r-、 ┼ + /`/`) +
┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
374:デフォルトの名無しさん
14/02/03 05:51:52.94 .net
Cocos2dx + lua が最強
375:デフォルトの名無しさん
14/02/05 23:25:39.46 .net
Squirrelでthreadの実行関数内でスタックダンプってどうやってとるの?
sqstd_printcallstackをラップしたのをバインドしてthreadの関数内で呼び出しても、
thread.callとかthread.wakeupんとこまでのスタックしか見れなくてデバッグが面倒
376:デフォルトの名無しさん
14/02/06 01:00:28.57 .net
そこから上は別のVMだから当然では
377:デフォルトの名無しさん
14/02/06 13:14:51.80 .net
あ、なるほど。
ってことはsq_getthreadとかと組み合わせれば出来んのかな。
助かったよ、ありがとう
378:デフォルトの名無しさん
14/02/06 16:31:10.12 .net
AngelScript|Д`)<AngelScript2.28.1記念カキコ
379:デフォルトの名無しさん
14/02/06 16:34:11.87 .net
>>374
スレッド制御してるVMがグローバルに一つなら、そのwakeup呼び出ししてる間は
とくに変化無いから、もうグローバルに直接参照して表示してしまうってのも一つの手だね
俺はそれぞれのスレッドのwakeupは、全部C++のメインの一カ所からしか呼ばない(親VMは登録とかにしか使わない)から上をたぐる必要は特に無い
380:デフォルトの名無しさん
14/02/06 19:41:13.19 .net
なるほど、そういう方法もあるのか。検討します。
で、早速また分からんことが。
・スクリプトでnewthreadで生成したスレッドをC++にてsq_getthreadで取得
・取得したvmに対してsq_newclosure,sq_seterrorhandlerで
ランタイムエラーハンドラを設定したんだけど、
スレッド実行中にエラー出ても呼ばれないんですが原因なんでしょう。
同じノリでC++からsq_setprintfuncで出力関数をセットすると期待通りに動作するんだけど。
381:デフォルトの名無しさん
14/02/06 20:13:41.72 .net
sq_notifyallexception しとかないと常にはよばれなかったような記憶
382:デフォルトの名無しさん
14/02/06 20:42:06.75 .net
おぉ、呼ばれた!ありがとう!
383:デフォルトの名無しさん
14/02/10 11:35:20.59 .net
スレチか悩んだがココで。
トゥイッターで「#squirrel」を検索するとマジもんのリスばっか出てくる。
どのハッシュタグならココで扱ってるSquirrel拾えるの?
384:デフォルトの名無しさん
14/02/10 11:43:35.22 .net
本家で聞けよ…
385:デフォルトの名無しさん
14/02/28 21:55:32.80 .net
ゲーム用途のスクリプトのことを学べば学ぶほど、最終的にはマップエディタや、
アイテムデータを打ち込むためのフォームなどを自作しておかないと、
スクリプトの良さを生かせないなぁ、というところに行き着いてしまうのですが、
個人製作の方々はそういったものを自作していたりするんでしょうか?
むしろ、そんなところに拘るくらいならUnityや他のゲーム製作ツールについて
勉強してた方がマシでしょうか?
386:デフォルトの名無しさん
14/02/28 22:11:10.98 .net
まず、自作するまでもなく
一般的なものならinport/exportで定番どころのフォーマットは対応してるので困ることはないのではないかな
対応してないとしてもconverterを書くだけだから簡単に書ける
387:デフォルトの名無しさん
14/02/28 22:15:28.12 .net
スクリプトの良さを生かそうという発想が生まれる時点で
既に道を踏み外している
ゲームを完成させたいなら計画を立て直せ
そうでないなら合理性なんか考えず好きなように楽しめ
388:デフォルトの名無しさん
14/02/28 22:17:33.95 .net
スペルミスってるな
まあいいや
389:デフォルトの名無しさん
14/02/28 22:31:38.48 .net
>>383
既存のモノで、マップエディタならJsonあたりで出力できるものや、
データ入力ならCSVエディタや、既存DB用ファイルを出力するエディタあたりでしょうか?
>>384
確かに、そうですね・・・
まだ数回しかチャレンジしてないのですが、どうしても毎回、
「プログラムで直書きしたのと変わらんやんけ!」か、
「CSVで十分やんけ!」という状況ばかりになってしまって、
そこから一歩ステップアップできない感じなのです
390:デフォルトの名無しさん
14/02/28 23:01:28.08 .net
AngelScripterさんがいたら教えてほしい
RegisterObjectType に asOBJ_POD を渡すとコンストラクタ、
代入演算子その他諸々が自動生成されるって話だけど、
asOBJ_POD | asOBJ_APP_CLASS_CONSTRUCTOR みたいにして
コンストラクタだけ独自拡張する使い方は仕様的にできるようになってるの?
391:デフォルトの名無しさん
14/03/01 07:44:24.61 .net
>>386
目的と手段が逆になってんじゃないの?
392:デフォルトの名無しさん
14/03/01 10:43:43.37 .net
>>387
普通にコンストラクタも登録できるから
公式リファレンス見ろ
393:デフォルトの名無しさん
14/03/01 11:25:09.70 .net
Lua自体はC++を使ってなくて「Cで十分やんけ!」という状況なので
もしC++を使ってる人がLuaは不要だと言えば、C++の方が不要だと言い返される気がする
394:デフォルトの名無しさん
14/03/01 12:09:22.88 .net
>>382
コンシューマだったり、プログラマ以外の作業員がいたり
アドベンチャーゲームみたいなジャンルだったらメリットが大きいと思うけど
個人製作だったら別に無理して活かす必要は無いような
395:デフォルトの名無しさん
14/03/01 13:21:37.93 .net
スクリプト使えば最コンパイルなしで高速に微調整ができるっていうけど
個人製作だとスクリプトファイルとかその他リソースを再読み込みする時間の方が
長かったりするのは俺だけ?てかみんなはスクリプトファイルどれくらい分割してる?
396:デフォルトの名無しさん
14/03/01 15:07:27.08 .net
>>392
ゲームは再起動するんだから、
他のリソースふくめたロード時間は
スクリプトつかっててもつかってなくても大差ないかと
スクリプト単体のロード時間は誤差の範囲だよ。確実にコンパイル&リンク時間のが長い
397:デフォルトの名無しさん
14/03/01 15:08:56.52 .net
LOVE使っててそれは思った
398:デフォルトの名無しさん
14/03/01 15:29:29.09 .net
>>392
修正したファイルだけ再読み込みできるようにしておくといい感じ
399:デフォルトの名無しさん
14/03/01 15:29:47.45 .net
>>393
392じゃないけど
どのリソースを読み込むかスクリプトで指示されているから
スクリプトの再読み込みはその他リソースの再読み込みとほぼ同義で
時間がかかるって話じゃないの
だから
スクリプト単体のロード時間が誤差の範囲なのは自明で
それをコンパイル&リンク時間と比較するのはこの文脈ではナンセンス
400:デフォルトの名無しさん
14/03/01 15:47:17.62 .net
>>396
スクリプトがコンパイル時間がかからなくて便利って話は、そもそもその単純比較の場合の話だから、そのメリットが得られてないならそれは作りが悪いってことだよね。結局のところ
401:デフォルトの名無しさん
14/03/01 15:47:27.35 .net
>>395
それを実現するためには副作用を減らす設計が重要で
とりあえずスクリプトで実装して
重い処理はホスト言語で実装しなおす
みたいなボトムアップな作り方してると困っちゃうんだよね
というか困った
402:デフォルトの名無しさん
14/03/01 15:57:47.84 .net
>>397
それは「スクリプトがコンパイル時間がかからなくて便利」ってのが
真である前提の結論だろ
実際は単なる謳い文句だよねって話じゃないの?
てかスクリプト言語使う動機なんて一つじゃないんだから
そんなことで作りの良し悪し評価されたくないよな
403:デフォルトの名無しさん
14/03/01 16:47:42.14 .net
>>389
リファレンス見てもPODで自動生成されたコンストラクタに
独自拡張のコンストラクタが上書きされるとか書いてなくね?
スレの趣旨には反するけどAlcantarea使えば諸々の問題解決できるよね。
実行中のプログラムの関数を再コンパイルして差し替えてくれるVSのアドイン
URLリンク(alcantarea-cpp.com)
404:デフォルトの名無しさん
14/03/01 16:57:41.84 .net
>>398
副作用を減らすんじゃなくて寿命を減らせばいいと思う
修正前の古いデータが生き残らないようにする
405:デフォルトの名無しさん
14/03/01 17:09:03.44 .net
>>399
良い悪いって言葉が気に入らないなら、
設計思想が合ってない、ってことでひとつ
宝の持ち腐れにしてまで使う意味はないな
406:デフォルトの名無しさん
14/03/05 17:03:30.70 .net
今から始めようと思うんですけど
C++で使えますか?
Cでの導入方法を教えて下さい
407:デフォルトの名無しさん
14/03/05 23:29:20.69 .net
>>403
冷やし中華を?
408:デフォルトの名無しさん
14/03/06 03:15:58.29 .net
>>403
何を?
409:デフォルトの名無しさん
14/03/06 04:44:07.89 .net
get started からダウンロードして
インクルードファイルとライブラリファイルを設定して、プロジェクトのプロパティで追加の依存ファイルにlua5.1.libを追加すればいいんですね。
後、クラスのメンバ関数をLuaから使う方法が理解できない
local 変数に関数を代入するの?
410:デフォルトの名無しさん
14/03/06 06:38:39.31 .net
lua では C でいうところの関数名=変数名となってるから大体合ってる
411:デフォルトの名無しさん
14/03/20 17:29:02.65 Moc5bE7b.net
AngelScript|Д`)<AngelScript2.28.1記念カキコ
412:デフォルトの名無しさん
14/03/20 17:29:20.35 Moc5bE7b.net
ごめん2.28.2だ
413:デフォルトの名無しさん
14/03/20 17:38:01.94 cnVVzBAE.net
(´\r-、 ┼ + /`/`) +
┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
414:デフォルトの名無しさん
14/04/06 22:57:21.17 OYl5erDz.net
cocos2d-x3.0 Luaバインディング使ってるんだけど
コード補完が出来るオススメエディタありませんか?
cocos2d-x2.x 時代は tolua++のpkgファイルあったから
Eclipseプラグインでコード補完出来たけど
3.x は探してもpkgみつからないの・・
415:デフォルトの名無しさん
14/04/07 00:09:17.03 wNleVxO3.net
Squirrel 3.0.6 stable
416:デフォルトの名無しさん
14/04/08 23:44:03.23 tbmdAmxp.net
>>411
intypeってテキストエディタではダメ?
417:デフォルトの名無しさん
14/05/11 11:14:07.30 FPHyRsPY.net
>>414
ない
418:デフォルトの名無しさん
14/05/11 12:58:32.06 ahIxA60o.net
作りかけならあるみたい
URLリンク(github.com)
URLリンク(github.com)
419:デフォルトの名無しさん
14/05/12 21:27:31.11 Jr9LnoLr.net
Lua って 5.3 で整数型が導入されるのか。
整数型なんていらんかったんや! というこれまでの解説は間違いだったのか?
それとも、ゲームだけでなく、カーネルに近いところでも使われ始めたからなのか?
420:デフォルトの名無しさん
14/05/12 22:45:02.79 rRKhLlHV.net
内部では結構前からあった気がする
テーブルの整数添え字の要素を特殊化したりとかその関係で
記憶違いだったらごめん
421:デフォルトの名無しさん
14/05/12 23:06:44.25 fjbQFkov.net
それはインデックスとして使われるときに整数に変換されるだけで、値として整数を保持してるわけじゃないよ
満を持して登場したと思ったらさっそくdeprecatedにされたbit32ライブラリさんかわいそう
422:デフォルトの名無しさん
14/05/12 23:22:03.10 fjbQFkov.net
ああひょっとして特殊化ってのはテーブルのarray partのことを言ってるのかな
423:デフォルトの名無しさん
14/05/13 01:10:36.92 1hVKdVzY.net
>>416
NetBSDはカーネル内部でLua使えるらしいぞ
それの関係かどうかまでは知らんが
URLリンク(news.mynavi.jp)
424:デフォルトの名無しさん
14/05/13 09:56:07.37 htOfSQyE.net
//
/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
425:デフォルトの名無しさん
14/05/18 06:43:02.86 cy7ef2kl.net
整数型導入でさらに速くなるみたいね
426:デフォルトの名無しさん
14/05/18 14:03:13.72 HDWDipXQ.net
eLuaという、マイクロコントローラ向けのさらに軽量なLuaもあるらしい
URLリンク(www.eluaproject.net)
427:デフォルトの名無しさん
14/06/08 18:05:42.02 3LWaPBPW.net
Xtalってもう更新してないのかな
GoogleCodeのは2008年で止まってるし
428:デフォルトの名無しさん
14/06/08 20:03:09.73 RRJgBzCO.net
>>424
URLリンク(code.google.com)
履歴見たら2013年11月13日が最終更新日だけど、どこ見てるんだ?
429:デフォルトの名無しさん
14/06/08 22:43:44.01 3LWaPBPW.net
>>425
本当だ・・・
Downloadsのパッケージしか見てませんでした
ごめんなさい
430:デフォルトの名無しさん
14/06/11 12:26:03.22 nbPEp42H.net
AngelScript|Д`)<AngelScript2.29.0記念カキコ
431:デフォルトの名無しさん
14/06/11 16:57:16.91 mGpoQXd/.net
(´\r-、 ┼ + /`/`) +
┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
432:デフォルトの名無しさん
14/06/19 01:32:25.81 wnpllGmU.net
C#コンソールアプリにLuaを組み込みたくてNLuaライブラリを使おうと考えてるんですが、
NLuaをSJISに対応させる方法はないでしょうか?
NLua同梱のlua52.dllをSJIS対応版に差し替えればいいかと思ったんですが、
このdllは公式配布のものとは違うようで、ビルド方法が分かりませんでした。
dllのビルドさえできれば、Luaの字句解析部(llex.c)へのパッチの当て方は分かっているんですが…
433:デフォルトの名無しさん
14/06/19 13:05:43.69 CumbCiDK.net
>>429
URLリンク(github.com)
これでしょ?
cmake->buildするだけでは?
434:デフォルトの名無しさん
14/06/20 17:24:54.94 N64lKT9J.net
ありがとう!
ビルドできました。
URLリンク(github.com)しか見てなかった・・・
435:デフォルトの名無しさん
14/06/20 17:32:59.29 TUABdWdO.net
リンクが貼られてるから
git clone URLリンク(github.com)
cd NLua
git submodule update --init --recursive
で入るんだけどね
436:デフォルトの名無しさん
14/06/29 14:59:39.60 SaBki4ZJ.net
C++プログラムへのmrubyの組み込みで教えてください。
mrubyのprint出力をホスト側で受けるにはmrb_define_methodで"__printstr__"に
関数を設定すればいいと聞いたのでそのようにしているのですが、標準出力と
標準エラー出力の区別ってできないんでしょうか?
437:デフォルトの名無しさん
14/06/30 15:10:51.45 02CSsGE4.net
>>433
mruby-print/src/print.c 内の printstr で stdout とハードコーディングされてるので、stderr に出したいときはここを書き換えるか、新たに stderr に出すメソッドを追加すればいいのでは?
438:デフォルトの名無しさん
14/06/30 23:03:22.29 FuMPZ5KZ.net
ありがとうございます。
printstrのフックでは受け取れないメッセージがあったのでエラー出力には別のフックがあるのかと
思ったんですが、ソース見てみたらそこかしこでfwrite使って直接出力してますね。
確かにこれだと自分でソースいじらないとならないですね。
439:デフォルトの名無しさん
14/07/02 16:59:10.88 JkuzDLMY.net
最近の lua とか squirrel とか python の実行速度を比較したページってないかね?
4、5年ぐらい前の奴なら英語サイトの奴があるけど、最近はどうなのかなと思って。
440:デフォルトの名無しさん
14/07/02 21:40:33.67 z0TOEu0h.net
速さはjit環境の有無で大分違うよね
pythonだとpypy?
luajitは今後5.3移行にちゃんと追従してくれるか心配だね。
組み込み用としてのメリットはluaには他にもいろいろあるだろうけど
jit環境が追従していかないとmrubyあたりに追い抜かれる?
441:デフォルトの名無しさん
14/07/03 07:39:27.54 FjTkZ2C1.net
jit関係ないっしょ
442:デフォルトの名無しさん
14/07/05 14:29:38.02 MeYLeon+.net
AngelScript|Д`)<AngelScriptJITは2.27に対応してるな
443:デフォルトの名無しさん
14/07/05 21:54:08.81 K5ikJkFl.net
>>439
ASがのけ者にされてたからちょっと安心した
444:デフォルトの名無しさん
14/07/06 06:19:08.04 xkFVsdDO.net
angelscript今までなぜか無視してたけど言語仕様見てきたら結構よさそうだな
これコンパイル時に全部型チェックしてくれるの?
445:デフォルトの名無しさん
14/07/06 12:38:13.11 uyyLiQuX.net
angelscriptの最大の問題はこれならC++直接書くのとかわらなくね?
という疑問が拭えないことだ
446:デフォルトの名無しさん
14/07/07 01:12:10.12 KmCWtuSa.net
>>442
どうしてもスクリプトにしないといけない箇所があったときは
慣れ親しんだC++に近い文法でスクリプト書けるってのは凄い利点だよ
447:デフォルトの名無しさん
14/07/07 01:43:37.99 PzOLkwtR.net
そもそも「どうしてもスクリプトにしないといけない箇所」なんてものは
思い込み以外では存在しない訳で
448:デフォルトの名無しさん
14/07/07 01:49:05.61 X/HL5rf/.net
(゚Д゚) ハア??
449:デフォルトの名無しさん
14/07/07 02:26:29.4
450:2 ID:amtUtvKD.net
451:デフォルトの名無しさん
14/07/07 07:47:10.67 3MsBFfON.net
その点Luaはプログラマではない者が使いやすいことを理念としているからな。
ただし英語程度はできることが前提だが。
452:デフォルトの名無しさん
14/07/07 09:42:19.00 n/CZjLr0.net
[要出典]
453:デフォルトの名無しさん
14/07/07 10:01:11.88 kMcKP8+6.net
実行時コンパイルできるC++って考えるといろいろと悪用法ありそうなんだけどな
454:デフォルトの名無しさん
14/07/07 10:23:10.27 KmCWtuSa.net
>>444
C++で作ったMOD前提のM.U.G.E.Nみたいな2Dゲーム
キャラクターの描画・行動全て自由に作れるようにするとしたら
スクリプトじゃなくて何にすればいい?
455:デフォルトの名無しさん
14/07/07 11:08:37.90 m9tAIraA.net
「C++でつくったMOD前提」ならそれこそスクリプトでなくてもいいのでは
制御のインターフェースが外部に全部公開されてるってことだよね
456:デフォルトの名無しさん
14/07/07 22:51:51.30 KmCWtuSa.net
>>451
書き方が悪かったな
MOD前提のC++で作った・・・だわ
457:デフォルトの名無しさん
14/07/08 14:33:11.22 x77uNS3E.net
AngelScript|Д`)<AngelScriptは組み込み簡単だぞ。
ヘッダ1個インクルードしてライブラリファイル1個リンクするだけでOK。
458:デフォルトの名無しさん
14/07/08 15:54:28.60 t9t2Zfam.net
AngelScriptはEnvironment-Module-Contextっていう構成がすごくわかりやすくて好きになったな
459:デフォルトの名無しさん
14/07/08 15:56:54.46 t9t2Zfam.net
まちがえた
×Environment → ○Engine
460:デフォルトの名無しさん
14/07/08 23:53:13.46 jARkErFj.net
C++が好きな人にとってはいいのかもしれないが
C++に特に思い入れのない人にとっては
何でC++の持つ恩恵が受けられる訳でもないスクリプトにまで
C++の流儀を持ち込まねばならんのだ
という感情があるということを
AngelScript推進派は意識した方がいいと思う
AngelScriptに懐疑的な人に対して
>>443みたいなアピールは無意味どころか逆撫でしてるんじゃない?
461:デフォルトの名無しさん
14/07/08 23:55:23.17 jARkErFj.net
勿論AngelScriptの有用性を否定してる訳じゃなくて
人にモノを薦めるときは相手の考えも尊重してね
という話
462:デフォルトの名無しさん
14/07/09 00:01:15.25 yWtVDAf2.net
C++構文とかどうでもいいからさ
コンパイル時型チェックしてくれる組み込めるスクリプト言語って他にないの?
463:デフォルトの名無しさん
14/07/09 00:02:36.15 6stlqCZC.net
なぜそこまで言われなければならないんだ・・・
じゃ今度からAngelScriptの話をするときは「(個人の感想です)」って末尾に付けるわ
464:デフォルトの名無しさん
14/07/09 00:08:24.48 HW4kwc6W.net
JavaやC#なんかとおなじで、ドカタに使わせる言語としては良さそうなんじゃないかと思う。
465:デフォルトの名無しさん
14/07/09 00:27:27.75 q6W6WKLr.net
AngelScript|Д`)さんってさぁ
Botや荒らしの類にしか見えないんだよ
本気で貢献したい、広めたいと思うなら
リファレンスの翻訳したり
サンプルコードを提示したりと
やることはいくらでもあるでしょ?
どっかの国のじゃないんだからさぁ
ま、流行らないと思うけども
466:デフォルトの名無しさん
14/07/09 00:43:58.35 ay8R5j5j.net
静的と動的を二刀流したら面白そうなのは分かるけど
同じ系統の言語を二個使ったら何ができるのかが分からない
467:デフォルトの名無しさん
14/07/09 00:55:53.38 Pn1IATNt.net
ASって存在価値ないんじゃね?ってレスに
こういう場面で使えるよって返したつもりだったけど
468: 無意識のうちに、C++すら理解できない能無しの劣等感を煽っちゃったんだね。 ごめんね。
469:デフォルトの名無しさん
14/07/09 01:03:57.02 6stlqCZC.net
動的型付け言語はコーディングミスをしない超人向け言語ですので
その超人様がコンパイル時型チェックに頼る凡人を見下すのは当然ですね
470:デフォルトの名無しさん
14/07/09 01:15:00.10 q6W6WKLr.net
>>463
誰だよお前はw
471:デフォルトの名無しさん
14/07/09 07:00:19.88 D5g6nYoo.net
俺だよ俺
472:デフォルトの名無しさん
14/07/09 08:20:34.04 dnhlgLoJ.net
AS信者ってキモいな・・・
473:デフォルトの名無しさん
14/07/09 08:35:39.86 dUvUmdvT.net
信者とか言い出すやつは荒らし。
みんな知ってるね。
474:デフォルトの名無しさん
14/07/09 19:01:55.74 r8cQgObV.net
AngelScriptは何も悪くない
悪いのはソレを使う人間だよ
475:デフォルトの名無しさん
14/07/09 19:50:22.95 ay8R5j5j.net
静的と動的の争いが無駄すぎるおかげで、二刀流の生産性が非常に高く感じられる
476:デフォルトの名無しさん
14/07/09 20:24:17.88 yWtVDAf2.net
お前らが言ってる静的動的ってどういう意味で言ってんの?
型付けが?それとも実行環境が?
477:デフォルトの名無しさん
14/07/10 14:37:45.84 QqTFR8Ev.net
AngelScript使ってる男の人って・・・・・
478:デフォルトの名無しさん
14/07/10 16:01:45.19 iwrqfwZm.net
TreeBoa?
479:デフォルトの名無しさん
14/07/11 01:37:33.79 hJn+b6B7.net
luaのmodule, requireの使い方がイマイチよく分からないんだけど
a.luaとb.luaというファイルがあったとして、a.luaにmodule("a")って書いておけばb.luaからrequire("a")でa.luaを参照で生きるってのは分かるんだけど
a.luaもb.luaもアーカイブ内にあって(例えばZIPにスクリプトが固めてある状態で)アーカイブから直接
スクリプト文字列をロードしてlua_Stateつくったとするじゃん?そしたらb.luaからa.luaってどうやって参照するの??
a.luaをロードしたlua_Stateと、b.luaをロードしたlua_Stateはそれぞれ完全に独立してるわけじゃん?
a.lua内でmodule("a")とかやっても、それはb.luaにとっては全く無関係な話しじゃね?っていう
480:デフォルトの名無しさん
14/07/11 02:45:06.27 Mxpl8CKX.net
>>474
dostring
はい
はい
481:デフォルトの名無しさん
14/07/11 04:09:49.02 D40A4FPH.net
>>474
requireの公式マニュアル読めばモジュールの検索手順載ってるからそれ読んどいてね
require経由で独自のアーカイブからファイルを読みたいなら
package.preloadのメタメソッドに自前のローダを仕込むとかトリックを使うことになるよ
482:デフォルトの名無しさん
14/07/11 07:07:35.10 TT3tD9Ot.net
>>474
スクリプトをロードすると関数がつくられる (lua_Stateではない)
各々の関数はグローバル変数を共有できる (完全に独立してない)
モジュールの使い方はバージョン毎に改善されているが
グローバル変数の使い方はあまり変わってないので使い方が分からない人はいないと思う
483:デフォルトの名無しさん
14/07/11 07:47:48.30 XCAXgxw4.net
module は廃止されたよね?
URLリンク(p-monster.hatenablog.com)
484:デフォルトの名無しさん
14/07/11 07:50:22.67 XCAXgxw4.net
こちらの方がよいかも
URLリンク(ar.aichi-u.ac.jp)
485:475
14/07/11 14:00:17.28 snzc4mzL.net
ああ、なにか根本的に間違ってたんだな
package.preloadとかの説明は読んでたけど、このテーブルが異なる lua_State 間で共有される
情報だとは思っていなかった
結局メタテーブルいじるのは面倒なので、単に
int lua_include(lua_State *ls) {
const char *scriptname = lua_tostring(ls, 1);
const char *source = GetStringFromArchive("data.zip", scriptname);
lua_dostring(ls, source)
return 0;
}
みたいな関数を登録して、スクリプト内から include("a.lua") って呼んで使うことにしたよ。みんなありがとう
486:デフォルトの名無しさん
14/07/13 17:10:55.13 kuvdsVq2.net
luaでiosアプリを操作するスクリプトを作ってます
ランダム変数を使って、タッチする位置とタイミングを微妙に変えつつ、
位置とタイミングをある程度の範囲内に抑えたいのですが、
x1=math.random(14,134);
y1=math.random(280,314);
a1=math.random(-1,+1);
a2=math.random(-1,+1);
t0=math.random(80000,85000);
t1=math.random;(50000,50100);
touchdown(0,x1,y1);
usleep(t0);
touchup(0,x1+a1,y1+a2);
usleep(t1);
usleep(300000);
まったく反応しません
どうしてでしょうか
487:デフォルトの名無しさん
14/07/13 17:13:44.99 kuvdsVq2.net
× t1=math.random;(50000,50100);
◯ t1=math.random(50000,50100);
直したけど動きません
488:デフォルトの名無しさん
14/07/13 17:20:13.38 kuvdsVq2.net
お騒がせしてすいません
+が余計でした
489:デフォルトの名無しさん
14/07/13 23:51:22.63 oRazOMf+.net
関係ないけどluaは命令末尾にセミコロン要らないよ。
まあ、同じ行に命令を並べる時は必要になるから、念のため常につけておくってのはアリだと思うけど。
490:デフォルトの名無しさん
14/07/15 22:41:15.80 4Hk/aMI9.net
lua_getuservalue, lua_setuservalueってどういう使い方するの?
というかどういう風に使うもんなの?
491:デフォルトの名無しさん
14/07/18 07:19:05.42 MNjetX+m.net
>>485
マニュアルやら
URLリンク(sceneryandfish.withnotes.net)
などでも触れてるけど
数十行レベルでしょのシンプルなソース見ちゃうのが手っ取り早いと思うよ
492:デフォルトの名無しさん
14/07/21 12:06:25.68 MDGKsYd9.net
AngelScript|Д`)<AngelScript2.29.1記念カキコ
何か重要なバグフィックスらしい。
493:デフォルトの名無しさん
14/07/21 16:26:34.64 CPAJhmyk.net
URLリンク(www.angelcode.com)
これか
メモリ関連のバグフィクスと、出力されるバイトコードがおかしくなるバグの修正かな
494:デフォルトの名無しさん
14/08/11 22:58:35.99 xLVZtjTF.net
何気に痛いな
バージョン番号がいまいちわからないんだけど
stable版ってどれなんだろ
495:デフォルトの名無しさん
14/08/12 02:19:26.71 Hfmn/cHa.net
auto touchっていうアプリのスクリプトがLua言語でちんぷんかんぷんで。
ここで質問してもいい?
496:デフォルトの名無しさん
14/08/12 02:55:05.48 QZJQGyIx.net
>>490
いいよ
寂れてるし。
497:デフォルトの名無しさん
14/08/12 05:31:01.87 7nSDT24w.net
Lua,Squirrelの簡単な本がない
あれば買うが、難しい本はいらん
498:デフォルトの名無しさん
14/08/12 06:24:10.22 FZ4QQEE/.net
用途を考えればド素人向けの本はもっといっぱいほしいよな
499:デフォルトの名無しさん
14/08/12 08:49:45.55 Hfmn/cHa.net
質問しておきながら爆睡してしまった。申し訳ない。
auto touchの関数についてURLリンク(autotouch.me)
alert("Hello world!"); hello world!と表示する
vibrate(); -- 一回振動する.
tap(100, 200); -- 座標(100, 200)をクリックする.このあたりは実際にauto touchで実行できたんだ。
画像aがあるときにaをタップ
っていうのはfindImageTap {imagePath="/var/A.png", count=1};
だと思うんだけど出来なくて困ってる。
500:デフォルトの名無しさん
14/08/12 09:06:36.78 5U2rS/IR.net
面白そうなツールだな
501:デフォルトの名無しさん
14/08/12 14:26:34.31 Hfmn/cHa.net
UWSCみたいな感じで動かせそうだな〜って思ってる。
別過去スレでやってる人がいて、その人のスクリプトはこんな感じなのね。↓
まだボタン一つ押せただけで大した事できてないけど、、、
スクリーンショットとって、PCで画像切り抜き、サイズ変えないで保存して上手くいった。
あいぽんで編集するとサイズ変わってしまって上手くいかなかった。
あとはマニュアル通り
ボタンの画像を少し小さめに切抜き、find image
すると、ボタンの中の座標返すからそのままtouchdown
してあげると良いみたい
local ok;
ok = findImage{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ok.png", count=1};
for i, v in pairs(ok) do
touchDown(0,v[1],v[2]);
usleep(100000.00);
touchUp(0,v[1],v[2]);
end
画像はこんな感じ。カメラロールに保存しちゃうと拡大されちゃうけど、ホントは等倍ね
URLリンク(i.imgur.com)
とのことなんよ。画像を見つけたらfor以下をループってことなのかな?
502:デフォルトの名無しさん
14/08/12 18:35:02.04 XJm7PWEz.net
書いてあることそのままじゃね?
何が分からないんだろ
503:デフォルトの名無しさん
14/08/12 20:58:16.89 Hfmn/cHa.net
上手く認識してくれないんだわ。。
angeっていう画像を見つけたらタップっていう動作を組む方が簡単そうなので
findImageTap{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ange.png", count=1};
っていうのに変えてもうまくいかない。
iphoneでスクショ撮る→PC繋いで画像ダブルクリック。スクショしてペイントに貼り付け。4×4ドットで切り取りしてange.pngで保存。
iexplorer経由でIMGフォルダに保存。
そもそもの画像の保存方法がダメなのかな?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
287日前に更新/264 KB
担当:undef