【アリス】system4.0【御用達】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/11/05(日) 19:38:18ID:cVqN/Dcb長所
・フリー
・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン)
・ゲーム製作に特化している
・ADV、SLG、3Dダンジョン、なんでも作れる
・同梱されているチュートリアルが親切、解りやすい
・実際にアリスソフトで使用されている言語なので、力さえされば同じレベルのものが作れる
短所
・使用者が少ないため、参考にするサイトが少ない
・専用エディタが無い
アリスソフト公式 ユーザークラブ専用ページからDL可(登録無料)
ttp://www.alicesoft.com/
0285名前は開発中のものです。
2007/09/23(日) 17:44:12ID:gTMsvm9zできればソースを見せてくれませんか?
僕もやっているのですがうまくいかなくて
0286284
2007/09/24(月) 01:33:40ID:wQrq8l22こんなんす。
ループが入っているだけで、教えてもらったのとほとんど一緒です。
===
void ★ReadData(void){
int No = 0;
if(Data.Open(1) == 1) {
while(true) {
No++;
if(Data.Read(g_ReadData[No]) == 1) {
// 読み込み成功
//system.MsgBox("No = " + g_ReadData[No].nNo.String() + ":名前 = " + g_ReadData[No].sName);
} else {
//system.MsgBox("データの読み込みを終了しました。");
break;
}
};
Data.Close();
} else {
system.MsgBox("データのロードに失敗しました。");
}
}
0287284
2007/09/24(月) 02:16:10ID:wQrq8l22データチェックとか色々してたんでwhile文とif文分かれてますけど、
普通に作る分にはwhileだけで問題ないです。
うちも最終的には直すんで。
0288名前は開発中のものです。
2007/09/24(月) 15:02:52ID:PLTvhaxXサンクス。
286のやつでやってもうまくいかないから
Data.dllかNL5でのリンクがうまくいってないみたいだ
0289名前は開発中のものです。
2007/09/30(日) 00:54:23ID:jYQSajes「Data.hll」&「Data.inc」→HLLフォルダ
この三つをそれぞれのフォルダに置いてSys42IDEの"HLLを追加"で追加したけれど
【Open】関数は定義されていません となって使えません
もしかして追加の仕方が間違ってるのでしょうか?
0290名前は開発中のものです。
2007/09/30(日) 07:39:52ID:DbtRC+b1System40.iniをしてるか。
この辺。
0291名前は開発中のものです。
2007/10/09(火) 22:50:08ID:q9E93AE40292名前は開発中のものです。
2007/10/20(土) 01:07:20ID:+048CWqr0293名前は開発中のものです。
2007/10/23(火) 23:14:01ID:g6dhJWeE誰かRPGとか作っている人います?
0294名前は開発中のものです。
2007/10/24(水) 00:35:21ID:xn+nw84C0295名前は開発中のものです。
2007/10/25(木) 00:31:39ID:Zn6cpkxM0296名前は開発中のものです。
2007/10/25(木) 16:27:46ID:vNqY00up晒したら誰か助言くれるかもよ
0297sage
2007/10/26(金) 12:02:12ID:/MaVV48B最近はwikiの更新が多くて嬉しい。
wiki充実させたいけど、面白い関数とかのネタも特にない。
どういう情報が載ってれば便利なのかな。
0298名前は開発中のものです。
2007/10/26(金) 13:27:24ID:+vtTpZVu的な解説とか面白そう&便利そう
0299名前は開発中のものです。
2007/10/26(金) 23:39:08ID:HBlQXi9fそれより、wikiの更新が途切れないのはいいんが
あの独特のインデント・カッコの使い方は修整してもいいんだろうか?
まぁコード書いてる本人が判ってるなら別に文句を言う筋はないんだが
あんなスタイル始めて見た
0300名前は開発中のものです。
2007/10/27(土) 00:00:22ID:94TX4bJ6WIKIだと自分でも分かりにくいなと思ってる。
0301名前は開発中のものです。
2007/10/29(月) 22:11:56ID:F5r4jyoqRPGの制作って解説に向いて無い?
ソースの増え方が天井知らず。
0302名前は開発中のものです。
2007/10/30(火) 00:03:44ID:c1631LRajafじゃなくてtxtファイルにしてくれたらブラウザで読めて便利かなと思った
ファイル数多いと落とすのがちょっと大変
まあ勝手な言い分なのでやりやすい形で続けてくれ
0303名前は開発中のものです。
2007/11/01(木) 00:12:05ID:mCtKzBY/グラディウスやR-TYPEのレベル
0304名前は開発中のものです。
2007/11/01(木) 00:29:38ID:v32JWrVo0305名前は開発中のものです。
2007/11/01(木) 00:43:59ID:mCtKzBY/突き詰めればかなり融通が効くのだろうか
0306名前は開発中のものです。
2007/11/01(木) 07:09:28ID:53sZItNQ融通が効くというか、関数ポインタを構造体に持たせられるなら、
STGもACTもRPGもSLGもSRPGもそれほど変わらないような作り方で出来る。
処理の重さがネックだけど。
0307名前は開発中のものです。
2007/11/01(木) 07:17:14ID:mCtKzBY/最低限は可能だが(プラスマイナスかけるわり算)
それ以上の方程式という高度なレベルは
学生時代から投げ出していたぜ
そんな自分でもシステム4.0を構築出来なくはないレベルなのだろうか
0308名前は開発中のものです。
2007/11/01(木) 11:16:48ID:4l261QOy面倒な計算はそれこそPCにさせればいい。
0309名前は開発中のものです。
2007/11/01(木) 11:33:17ID:mCtKzBY/システム4.0を突き詰めれば
大概のゲームが作れるとわ…
数学分からないとか言い訳せず
頑張ってみる
0310名前は開発中のものです。
2007/11/01(木) 19:34:57ID:gkLUOEZ3最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。
まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。
0311名前は開発中のものです。
2007/11/02(金) 17:38:20ID:LI5jfqFFまあたいしたもん作ってないけどさw
0312名前は開発中のものです。
2007/11/02(金) 23:44:46ID:n3OSdW5Hのよい見本だと思う。
0313名前は開発中のものです。
2007/11/05(月) 22:47:48ID:eDoMJSU2【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】
と出る……。
これがintの場合は大丈夫なのに何故でしょう。
0314名前は開発中のものです。
2007/11/06(火) 21:18:33ID:dVZUWYYTふと思ったんだが、dll.func("ABC")とかやってない?
ref stringで。
いや、参照じゃなくてもこれができるかはわかんないし、
intなら大丈夫の意味もわかんないんだけど。
もし自前DLL作ってるなら、
どういう風に呼び出してるかとかHLLとか出してみてよ。
(そのままじゃなくてもいいから)
0315名前は開発中のものです。
2007/11/06(火) 23:18:45ID:cZ2R0MB+全体のソースをはらせていただきます。
http://wikiwiki.jp/system4/?plugin=attach&pcmd=open&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1
無駄に量はありますが、エラーの条件は
RPG \ CHAR_MAKE \ tagObject.jaf
にある、object構造体のコンストラクタの一行です。
同ファイルの先頭にあるg配列の
array@object asChar[20];
の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。
ローカルでoName_baseを呼ぶ分には問題ないようです。
もし宜しければ教えて下さい。
0316名前は開発中のものです。
2007/11/06(火) 23:23:09ID:cZ2R0MB+このファイルです。
http://wikiwiki.jp/system4/?plugin=attach&pcmd=info&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1
0317名前は開発中のものです。
2007/11/07(水) 20:40:19ID:aH1Zfskegame_main>asChar_Data>oCharMakeと辿っていって、
最終的にans_t::SString関数内の
if(szX != szA){asY[nL] = szX;return asY[nL];}
の行でエラーが出る。
asChar_Dataを呼ぶ前にAコマンドで止めて、
ブレークポイント使ってステップ実行するとわかると思う。
ただ、使い方が間違ってるのかどうかまではわかんない。
(ライブラリの作者さんならわかりやすいのかな)
あと、intなら大丈夫の意味も未だにわかんない。
0318名前は開発中のものです。
2007/11/07(水) 22:25:35ID:aH1Zfskeif(szX != szA){asY[nL] = szX;return asY[nL];}
を
if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];}
としたらエラーはなくなったんだが、
これは>313、ライブラリ作者さん共に正しい動作になってるか?
0319名前は開発中のものです。
2007/11/07(水) 23:13:39ID:xpaYlRaBどうも有り難うございます。エラー箇所は分かったのですが、
何故エラーになるのかがどうしても分かりません。
>>318
まことに申し訳ないのですが、正しい動作になりません……。
第二引数に何を入れてもマウンテンデューが返ってくるようです。
「intなら大丈夫」というのはこういうことです。
//テスト
void game_main(void)
{
ans_t MS;
//MS.nSet("keyword",100);
//MS.nSet("keyword",200);
//N(MS.nGet("keyword"));A;//正常な動作だと200が出力
MS.ssSet("keyword","じむ");
MS.ssSet("keyword","がんたんく");
S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力
}
nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。
ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。
SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、
操作はほとんど同じです。
しかしnSet(上のコメントアウトしている方)は正常に動作し、
下のssSetの方は単独では前述のエラーメッセージが出ます
(コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます)
どうしてこんな違いが出るのかに大混乱です。
0320318
2007/11/08(木) 19:54:53ID:mXVUOzqf>318の修正を
if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];}
にしてみて。
修正前は文字列を直接置き換えてたっぽいから、
新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。
>319でもエラーは出ないし、
RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。
原因はわかんない。
stringの配列要素に直接代入するところが特殊仕様かもしれないけど、
ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。
エラーが出るときもそうでないときも
デバッガに出るans_t変数の現在値は変わらないように見えるし。
0321名前は開発中のものです。
2007/11/08(木) 19:56:16ID:NpNB32t6とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、
もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、
stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。
//stringエラー対策用の代入式
void ADD(ref string szX,string szY)
{
int nLength = szX.Length();
szX += szY;
int nL;
for(;nL < nLength;nL++)
{
szX.Erase(0);
}
}
//文字列から要素を検索し、szXを返します。[asXが要素の役割]
string SString(string szX,string szV = szA,string szY = "Renew")
{ ans_ReAlloc;
int nL;for (nL = 0;nL < asX.Numof(); nL++)
{if(szX == asX[nL]){if(szV == szA){return asY[nL];}
if(szV != szA){ADD(asY[nL],szV);return asY[nL];}
}
} if(szY == "Renew" && szV != szA)
{asX.PushBack(szX);asY.PushBack(szV);return szV;}
return szA;
}
0322名前は開発中のものです。
2007/11/08(木) 20:02:41ID:NpNB32t6どうも有り難うございますー。上手くいきました。
値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。
0323名前は開発中のものです。
2007/11/10(土) 18:30:17ID:EfYdmYW2送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz
0324名前は開発中のものです。
2007/11/10(土) 18:34:59ID:EfYdmYW2スレ汚しスマソ
0325名前は開発中のものです。
2007/11/13(火) 07:08:47ID:E7kpa99+初心者向けなのか上級者向けなのか分からないところはあるが……。
0326名前は開発中のものです。
2007/11/19(月) 00:19:07ID:5fRgCIrj0327名前は開発中のものです。
2007/11/28(水) 23:43:23ID:GQA8QXikクラス内のメソッド関数にデフォルト引数って使えんの?
「メソッド定義にデフォルト引数は使用できません」
ってエラーになっちゃうんだけど。
マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。
0328名前は開発中のものです。
2007/11/29(木) 01:38:38ID:YNi9MS+N0329名前は開発中のものです。
2007/11/29(木) 06:18:36ID:Z4mGFDpB実装側に書かないと。
0330名前は開発中のものです。
2007/11/29(木) 06:23:12ID:Z4mGFDpB忘れてorz
0331名前は開発中のものです。
2007/11/29(木) 21:24:17ID:vAxuvCotクラスの定義側で定数入れて、
実装側は引数の宣言だけしておけばいいのか。
定義と実装両方同じにしておかないといけないと思ってましたorz
0332名前は開発中のものです。
2007/12/10(月) 19:19:39ID:MKJaX+BI0333名前は開発中のものです。
2007/12/11(火) 18:39:15ID:usuyb1bv0334名前は開発中のものです。
2007/12/16(日) 16:32:57ID:F9amJRpt0335名前は開発中のものです。
2007/12/17(月) 20:52:51ID:LmPKFuIUarray@int asasas[1000000000000];
と消費メモリは同じですからね。大抵応答待ちで固まる。
WIKIの方も更新感謝。ところで、
>プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、
>その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの
>ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。
>それらをダブルクリックすることで、そのショートカットを実行できます。
とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?
0336名前は開発中のものです。
2007/12/19(水) 22:49:07ID:tM4C1oFzっつーか今まで知らなかったけどこれ便利だな
とりあえず電卓は常に入れておく事にしよう
0337名前は開発中のものです。
2007/12/24(月) 10:38:52ID:TLPoSiAJ戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)
0338名前は開発中のものです。
2007/12/25(火) 21:41:17ID:rTg9VkUH具体的に、ココがこう判らん、という話なら
教えるなり議論するなり、話の種くらいにはなるかもしれないが
0339名前は開発中のものです。
2007/12/26(水) 05:49:19ID:ZQpX3LBNそれがわかれば問題の8割は解決済みだ
0340名前は開発中のものです。
2007/12/26(水) 06:02:44ID:iWoIrrsz0341名前は開発中のものです。
2007/12/26(水) 20:03:45ID:Mctx91saソースコードと対になる設計にまで持ち込む作業ってコーディングより難しい。
というか、そこまでがゲームプログラムのキモだし。今更言うようなこっちゃないけど。
なんで、とりあえずお題を決めて何か喋ろうぜ。
0342名前は開発中のものです。
2007/12/27(木) 10:15:46ID:f6iZ7GYtsystem4.0ですごいと思った所
0343名前は開発中のものです。
2007/12/27(木) 19:33:22ID:2qgB1qG13.XとかNScript風の文字列設定にもできるところ。ネット機能が失われたのは残念。
そんな私は3.Xからの移行組。
0344名前は開発中のものです。
2007/12/28(金) 19:27:29ID:Qh9aViXN変数の表示くらいならともかく、スタックを総ざらいしたり
ブレークポイントをかけたりできるのに感動した。
ある意味、もうVS&C++でいいぢゃんという流れになる諸刃の剣だが
0345名前は開発中のものです。
2007/12/28(金) 23:22:01ID:KfUqS68aやっぱり無いのか(´・ω・`)
じゃあ質問なんだが
戦国で相手の行動パターンってどんなかんじで作ってあるんだ?
交戦状態のときとか兵数が一定以下になったら攻めるのをやめるみたいな感じなんだろうけど
どういう風に書けば良いのかわからん
0346名前は開発中のものです。
2007/12/28(金) 23:45:23ID:MhwWZ8rw多分国データの内部にある武将データが関係。
0347名前は開発中のものです。
2007/12/29(土) 00:35:25ID:kfiiBsKO兵数
種別(前衛or後衛)
}
struct 軍団プリセット{
種別[6]
}
struct 国{
武将配列、軍団プリセット配列
}
軍団プリセット 全部忍者 = {忍者、忍者、忍者、忍者、忍者、忍者}
軍団プリセット バランス[1] = {武士、僧兵、なし、弓、巫女}
軍団プリセット バランス[2] = ・・・
void ターン(){
for(国ID=0 ; 国ID<国数 ++国ID){
if(交戦中フラグ[国ID]){
国行動( 国ID )
}}}
国行動( 国ID )
{
if(合戦回数=1)
rerurn 全部忍者
for(int i=0 ; i<試行回数 ; ++i)
if( 派遣できる?関数( 国データ,バランス[ramdom] ) ) return バランス[ramdom];
return 待機
}
ごめんかなり適当に考えた
複数回行動は定数とか割合を基準にして適当に計算したら楽だけど
SLG作るならもっとスマートにやらなきゃいかんのかな・・・ 定数使うのは意外とアリだと思うけど
0348名前は開発中のものです。
2007/12/30(日) 15:11:34ID:8hcAIO7D0349名前は開発中のものです。
2007/12/30(日) 17:34:45ID:iIx8r+UBあと関数呼び出しのオブジェクト(関数ポインタだっけ)。
RPGでも重要だけど、思考ルーチンはSLGの方が重視されがちだし。
0351名前は開発中のものです。
2008/01/02(水) 18:38:49ID:yjODYZJu0352名前は開発中のものです。
2008/01/02(水) 22:03:35ID:vVbqFkaY普通に、構造体を2つ渡す関数を用意するのじゃ駄目かね?
0353名前は開発中のものです。
2008/01/03(木) 00:22:17ID:J9suxAsk整数を16進数で返す方法ってありますか?
0354名前は開発中のものです。
2008/01/03(木) 09:20:17ID:fZeOkcpH2進数も10進数も16進数も、表記法が違うだけで中身は同じだよ。
10進数16が、16進数0x10という見た目になるだけであって
どちらもint型変数に格納できる。
0355名前は開発中のものです。
2008/01/03(木) 10:31:39ID:J9suxAsk例としては、整数65535 を 文字列"FFFF" で返すということです。
0356名前は開発中のものです。
2008/01/03(木) 16:11:12ID:X7Gj3bxxプログラムの中で返したいの?
って、変換した奴だけ使いたいなら、いくらでもソフトあるか。
0357名前は開発中のものです。
2008/01/04(金) 08:38:05ID:bR+AzSYoいろいろ試してみたけどむずかしい。10→16なら簡単なんだけどね。
方法を予想してみると、とりあえず16進数の桁数だけ領域を取った一次元のint配列に
「1-15」までの要素を入れ、最後にくっつけるやり方がスマートかもしれない。10進数から
16進数の桁数を算出する方法と、要素に16進数での値を入れる方法さえ分かればできると思う。
(俺はわからない)
0358名前は開発中のものです。
2008/01/04(金) 12:15:27ID:Bc3fruj+0359名前は開発中のものです。
2008/01/04(金) 13:36:14ID:ZvrZQLG7つまり"FFFF"を 65535 にするならWIKIを参考にできるんだが。
>>358
"%x"って何だっけ?
出力変換なら、そういうのは無かったように思う。
0360名前は開発中のものです。
2008/01/04(金) 14:18:47ID:Bc3fruj+ttp://www.geocities.jp/akt_trade/sys40/ScenarioVar.html
俺はsystem4.0使ってないから無責任な発言ですまんが
0361名前は開発中のものです。
2008/01/04(金) 15:48:13ID:VVEb3/k/蛙のダンジョンさんとこのソースがいいんじゃない?
0362名前は開発中のものです。
2008/01/04(金) 17:04:16ID:i/Zwdvnb頑張ってソース書いたけど、れつとれさん所の解説読んだら、出力変換できました。
以下ソース。(パラメータあんまりよく分かってません)
void 10→16進数(){
int 元=RAND(2147483647);
string 結果="%0X" % 元;
'10進数:'NH(元);R;
'16進数:'S(結果);A;
}
0363名前は開発中のものです。
2008/01/04(金) 19:34:30ID:ZvrZQLG7int値変換%d float値変換%f string値変換%s char値変換%c bool値変換%b
しか書かれてなかったから試さなかった。すまん>358。
"%X"は2バイト文字ではなく大文字になるみたいだね。
ありがとう熾憂さん。
0364名前は開発中のものです。
2008/01/09(水) 20:42:47ID:oVZERYj2遅くなりましたが有り難うございます。
おかげで型sz、引数intの関数をつくれました。
0365名前は開発中のものです。
2008/02/02(土) 22:57:39ID:ykvhHgTN腕に自身のある奴、行っとけ!
俺は無理orz
0366名前は開発中のものです。
2008/02/03(日) 00:14:39ID:fzEiLEZmそもそも腕に自信もないがorz
0367名前は開発中のものです。
2008/02/14(木) 15:33:24ID:lFvH5fEbREGISTER_MESSAGE_CALLBACKとSACT_MESSAGE_REGISTの
使い方が良くわかりません。
サンプルコードを試してみたがマニュアルにあるコードの実行例を再現できない。
ボスケテ
0368名前は開発中のものです。
2008/02/16(土) 01:56:37ID:OruBd+lh一番最後にSACT_MESSAGE_REGISTを追加すれば、再現はできるよ。
0369名前は開発中のものです。
2008/02/16(土) 02:16:48ID:IniXt8yd蛙でございます。
//ユーザー定義コールバック関数
void game_message_callback(ref int nMsgNum,int nNumofMsg, ref string sText){
//メッセージが 主人公 という文字列であれば ランス に置き換える。
if(sText=="主人公"){
sText="ランス";
nMsgNum = -1;
}
SACT_MESSAGE_REGIST(nMsgNum, sText);
}
void 初期化(){
REGISTER_MESSAGE_CALLBACK(&game_message_callback);
}
SACT_MESSAGE_REGIST関数が''内の文字を表示させる関数っぽい。しかしmessage関数の処理を見たらユーザー定義コールバック呼出が設定されているときに、このSACT_MESSAGE_REGIST関数が処理されない感じだった(たぶん)。
SCAT弄るの嫌なのでユーザー定義のコールバック関数の方に追加。
なお、ソース見たらsact_message_callback_tは関数型だったので、REGISTER_MESSAGE_CALLBACKの引数はsact_message_callback_t型の関数を使えということだろうと。
多分マニュアルの単純な記述ミスだと思います。
関数型って何なんだ…って所から始めたので、正直合ってる自信がないけど、一応動いたことは動いたので、取りあえず動けばいいやってことでしたら。
正しい説明は他の人お願いします。
0370名前は開発中のものです。
2008/02/16(土) 10:06:39ID:nq5dFx5jありがとうございます。再現できました。
0371名前は開発中のものです。
2008/03/09(日) 08:31:00ID:SkvlBWmlsys4で録画する方法が分かりません。どうすればいいんでしょう。
0372名前は開発中のものです。
2008/03/09(日) 19:13:29ID:Cz82xsvADirectXでもキャプチャできるソフトを探せ
0373名前は開発中のものです。
2008/03/09(日) 23:03:46ID:SkvlBWmlSYS4の場合、DirectX系の動画キャプチャーでは無理っぽいのですが。
0374名前は開発中のものです。
2008/03/10(月) 01:04:50ID:/kCN8Glm0375名前は開発中のものです。
2008/03/10(月) 23:52:10ID:PZZg9K26デッキを経由したりキャプチャボードに繋げばVGAサイズくらいでコピれるかも
0376名前は開発中のものです。
2008/03/11(火) 09:50:35ID:g0w5Ny2+ロード時にセーブ直前に表示されたメッセージ再描画のため
MSG_DRAW_LAST();
を使用していたので、再現するため
game_main(){
//色々略
'アブドゥル'A;
MSG_DRAW_LAST();
}
上記ソースでテストしたところ
「アブドゥル」改頁待
のような実行結果となってしまいました。
どうもMSG_DRAW_LAST();が無視されているとしか思えないのですが
再びボスケテいただけないでしょうか
wiki・・もうちょっとSACTも触れて欲しいです
0377名前は開発中のものです。
2008/03/11(火) 18:53:50ID:RYZ2rlb8>'アブドゥル'A;
>MSG_DRAW_LAST();
なんつってしたら同じものが出てくるんじゃないかい?
SACTのセーブロード関数のサンプルで
「セーブ直前に表示されたメッセージテキストを再表示」と表現されてるのは、
SACT_RESUME_SAVE関数とMSG_DRAW_LASTの間で何もメッセージを表示させてない、
つまりセーブ直前のメッセージが出てくるということだと思うんだけど。
0378名前は開発中のものです。
2008/03/11(火) 18:57:51ID:RYZ2rlb8実際は俺も知らなくてMSG_DRAW_LASTでSDKフォルダに検索かけただけだったりする。
機能説明のコメントは一通りついてるし、検索できると便利かもよ?
0379名前は開発中のものです。
2008/03/11(火) 23:01:39ID:9pIOw8vEttp://wikiwiki.jp/system4/?%B8%A1%BA%F7%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%E8%A4%A6
0380名前は開発中のものです。
2008/03/12(水) 10:42:34ID:jSbN2KRJ>'アブドゥル'A;
>MSG_DRAW_LAST();
と書いたからには
「アブドゥル」
「アブドゥル」
と表示されて欲しいわけです。
ロード時のメッセージ復帰に使用しようと思ってたんですが上手くいかず
とりあえず上記ソースでテストを行った結果、メッセージが重複して表示されなかったので
MSG_DRAW_LASTの使い方に問題があったのかと、質問させていただいた次第です。
0381名前は開発中のものです。
2008/03/12(水) 18:06:04ID:AF6l4+VDマシンパワーがいるが、プレー動画が撮れる。
0382名前は開発中のものです。
2008/03/12(水) 19:13:47ID:dlKyug8TA;はメッセージをクリアするとか、そういうことではない?
解釈が違ってたらごめん。
最初に改行が入るけど、二つ表示したいなら
R;'アブドゥル'B;
MSG_DRAW_LAST();A;
MSG_DRAW_LASTが描画するのは、最後にA;B;C;等で
描画したメッセージで、それには改行も含まれてるから
MSG_DRAW_LASTの先頭だけを改行したいなら
自分でMessageManager_tを操作する必要がありそう。
0383名前は開発中のものです。
2008/03/12(水) 20:21:30ID:S8LKkQV2>'アブドゥル'A;
>MSG_DRAW_LAST();
の後にA;つければいいんでね?
サンプルはセーブ用の関数だから抜けた後でなんか処理してるだろうけど、
>376はgame_mainだからそのまま通過して終わっちゃう。
0384名前は開発中のものです。
2008/03/12(水) 20:53:48ID:Mg3Kgq5m376のソースで実行してみたけど、普通に
「アブドゥルアブドゥル」
と表示されてしまった。(改行に関してはお好きに)
多分、383で言われているように、「MSG_DRAW_LAST();」の後に「A;」ついてないので瞬時に画面消えて見えなかったとか、
その辺の理由だと思います。(うちのマシンは遅いので、二つ目のアブドゥルも少し見える)
■ このスレッドは過去ログ倉庫に格納されています