教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/19(Wed) 17:29
No.8862
|
|
|
|
|
はじめまして。いきなりですみませんが、メニューの出し方とメニューの作り方を教えてください!!
|
Re: 教えてください!
投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2005/10/19(Wed) 17:37
No.8863
|
|
|
|
申し訳ありません。もう少し詳細な情報をいただけたほうがよいと思います。
メニューといってもいろいろな形式があります。 まず、どんなゲームのどういった状況でメニューを使いたいのか、できるだけ詳しくご説明ください。
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/20(Thu) 18:25
No.8864
|
|
|
|
こんばんわ。すいません。 通常のマップ(フィールド)にいる状態で何キーを押すと メニューが出てくるみたいな感じにしたいです。
|
Re: 教えてください!
投稿者 : ロンド(EATcf-394p189.ppp15.odn.ne.jp)
- 2005/10/22(Sat) 13:06
No.8865
|
|
|
|
プログラムの場合は具体的に言ってくれないと分からないことが多いです。 マシンさんの頭の中にはどんな風にしたいかイメージできているとは思いますが、他の人には分からないのでもっと具体的に言いましょう。
はじめてのようなのでここに目を通しておいてください。 http://tonyu.kake.info.waseda.ac.jp/api/wiki.cgi?page=%bc%c1%cc%e4%a5%d5%a5%a9%a1%bc%a5%de%a5%c3%a5%c8
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/22(Sat) 13:57
No.8866
|
|
|
|
すいません。まだ、初めてでよくわからないものですから… 具体的にですか。うまくいえないので例として出してみてください…ほんとにすいません。
|
Re: 教えてください!
投稿者 : ロンド(EATcf-394p189.ppp15.odn.ne.jp)
- 2005/10/22(Sat) 14:36
No.8867
|
|
|
|
8867.zip
チュートリアルには目を通しましたか? メニューの作り方は載っていませんが、条件分岐などの処理に理解を深めることが出来ます。 もしまだチュートリアルを見ていないのであれば見ることをお勧めします。
メニューについてですが、添付した画像みたいな感じでしょうか?
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/22(Sat) 14:44
No.8868
|
|
|
|
ありがとうございます。そのような感じです。 それを縦にすることはできないでしょうか?
|
Re: 教えてください!
投稿者 : ロンド(EATcf-393p30.ppp15.odn.ne.jp)
- 2005/10/22(Sat) 16:04
No.8869
|
|
|
|
extends SpriteChar;
//====================================== // メニューの処理 //======================================
kasoru=1; // カーソルの初期化 kankacu=30; // 項目のY間隔
//==== 項目を表示 ====// function menyu_draw() { drawText(40,20+kankacu*0,"項目1",$clWhite,11); drawText(40,20+kankacu*1,"項目2",$clWhite,11); drawText(40,20+kankacu*2,"項目3",$clWhite,11); drawText(40,20+kankacu*3,"項目4",$clWhite,11); drawText(40,20+kankacu*4,"項目5",$clWhite,11); drawText(40,20+kankacu*5,"項目6",$clWhite,11); drawText(40,20+kankacu*6,"項目7",$clWhite,11); drawText(40,20+kankacu*7,"項目8",$clWhite,11); }
//==== カーソル移動 ====// function kasoru_move() { // カーソル移動 if (getkey(40)==1) { kasoru+=1; } if (getkey(38)==1) { kasoru-=1; } // カーソル移動の制御 if (kasoru > 8) { kasoru=1; } if (kasoru < 1) { kasoru=8; } // カーソル位置 if (kasoru==1) { x=20; y=20+kankacu*0; } if (kasoru==2) { x=20; y=20+kankacu*1; } if (kasoru==3) { x=20; y=20+kankacu*2; } if (kasoru==4) { x=20; y=20+kankacu*3; } if (kasoru==5) { x=20; y=20+kankacu*4; } if (kasoru==6) { x=20; y=20+kankacu*5; } if (kasoru==7) { x=20; y=20+kankacu*6; } if (kasoru==8) { x=20; y=20+kankacu*7; } }
//==== 項目ごとの処理 ====// function menyu_run() { if (kasoru==1) { } // {} の中にそれぞれの処理を記述 if (kasoru==2) { } if (kasoru==3) { } if (kasoru==4) { } if (kasoru==5) { } if (kasoru==6) { } if (kasoru==7) { } if (kasoru==8) { } }
while(1) { // 項目の呼び出し menyu_draw(); // カーソルの移動 kasoru_move(); // エンターキーで実行 if (getkey(13)==1) { menyu_run(); } update(); }
これをそのままコピペすれば縦型メニューが起動します。 項目ごとの処理には例えば x=100; 等の処理を入れると処理しているのが分かると思います。
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/22(Sat) 18:42
No.8870
|
|
|
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/22(Sat) 22:52
No.8871
|
|
|
|
すいません。初心者なので、まったくわかりません。 本当に申し訳ありません。どこをコピーすればいいのか、 どこに貼り付ければいいのかを詳しく教えてください。
|
Re: 教えてください!
投稿者 : ごま太郎(i60-42-39-163.s02.a001.ap.plala.or.jp)
- 2005/10/23(Sun) 03:20
No.8872
|
|
|
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/23(Sun) 07:51
No.8873
|
|
|
|
おはようございます。すいません。どこ見ていいのか、よく分かりません。
|
Re: 教えてください!
投稿者 : ごま太郎(58.89.17.53)
- 2005/10/23(Sun) 11:04
No.8874
|
|
|
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/23(Sun) 12:18
No.8875
|
|
|
|
すいません。どうやったらいいのか分かりません。助けてください。エラーになってしますのですが・・・
|
Re: 教えてください!
投稿者 : ごま太郎(i220-108-16-212.s02.a001.ap.plala.or.jp)
- 2005/10/23(Sun) 15:00
No.8876
|
|
|
|
私の手元ではエラーは発生しません。 まず、ファイルをDLし直してください。それでもエラーが出る場合は、エラーメッセージの内容をこの掲示板に貼り付けてください。
もし、お使いのtonyuがあまりに古いバージョンであればそれが原因ということもありうるかもしれません。1.19以降であればちゃんと動くはずです。 てか、どなたか他にも動かない方がいらっしゃったらどうぞ。何か見落としてたかな…?
|
Re: 教えてください!
投稿者 : ロンド(EATcf-434p92.ppp15.odn.ne.jp)
- 2005/10/23(Sun) 15:19
No.8877
|
|
|
|
私は特に問題なく動作しました。 マシンさんのためにやり方を載せておきます。
1.8874.zipをダウンロードする 2.解凍する 3.解凍したフォルダ内に入っている"index.cmml"を"Tounyu.exe"にドラッグ&ドロップする 4.豆乳システムが起動して設計状態になるのでF9で実行する
これで大丈夫なはず。
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/23(Sun) 22:21
No.8878
|
|
|
|
ありがとうございます、みなさん。がんばってやってみます。
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/24(Mon) 15:21
No.8879
|
|
|
|
// エンターキーで実行 if (getkey(13)==1) { menyu_run(); } update(); } //<resourcelist name="usr"> //<resourcelist name="patterns"> //</resourcelist> //<resourcelist name="classes"> //</resourcelist> //<resourcelist name="gen"> //<generator className="こういうこと" name="$こういうこと" inst_x="50" inst_y="50" inst_p="3"/> //</resourcelist> //<resourcelist name="global"> //<globalvalue name="$screenWidth" value="560"/> //<globalvalue name="$screenHeight" value="381"/> //</resourcelist> //</resourcelist>これはどういう意味でしょうか?
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/24(Mon) 16:16
No.8880
|
|
|
|
連続投稿失礼します。
extends SpriteChar;
while(1) { if (getkey(39)>0) x+=3; //→キーで右に移動 if (getkey(37)>0) x-=3; //←キーで左に移動 if (getkey(40)>0) y+=3; //↓キーで下に移動 if (getkey(38)>0) y-=3; //↑キーで上に移動 if (exp>100) {level++;} //EXPが100になったらLEVELアップ $name="アルシェス"; //名前 $hp=25; //現在HP $max_hp=3000; //最大HP $mp=10; //現在MP $max_mp=2000; //最大MP $lev=1; //Level $attack=10; //攻撃力 $defend=10; //防御力 update(); } //====================================== // メニューの処理 //====================================== kasoru=1; // カーソルの初期化 kankacu=30; // 項目のY間隔 //==== 項目を表示 ====// function menyu_draw() { drawText(40,20+kankacu*0,"項目1",$clWhite,11); drawText(40,20+kankacu*1,"項目2",$clWhite,11); drawText(40,20+kankacu*2,"項目3",$clWhite,11); drawText(40,20+kankacu*3,"項目4",$clWhite,11); drawText(40,20+kankacu*4,"項目5",$clWhite,11); drawText(40,20+kankacu*5,"項目6",$clWhite,11); drawText(40,20+kankacu*6,"項目7",$clWhite,11); drawText(40,20+kankacu*7,"項目8",$clWhite,11); } //==== カーソル移動 ====// function kasoru_move() { // カーソル移動 if (getkey(40)==1) { kasoru+=1; } if (getkey(38)==1) { kasoru-=1; } // カーソル移動の制御 if (kasoru > 8) { kasoru=1; } if (kasoru < 1) { kasoru=8; } // カーソル位置 if (kasoru==1) { x=20; y=20+kankacu*0; } if (kasoru==2) { x=20; y=20+kankacu*1; } if (kasoru==3) { x=20; y=20+kankacu*2; } if (kasoru==4) { x=20; y=20+kankacu*3; } if (kasoru==5) { x=20; y=20+kankacu*4; } if (kasoru==6) { x=20; y=20+kankacu*5; } if (kasoru==7) { x=20; y=20+kankacu*6; } if (kasoru==8) { x=20; y=20+kankacu*7; } } //==== 項目ごとの処理 ====// function menyu_run() { if (kasoru==1) { } // {} の中にそれぞれの処理を記述 if (kasoru==2) { } if (kasoru==3) { } if (kasoru==4) { } if (kasoru==5) { } if (kasoru==6) { } if (kasoru==7) { } if (kasoru==8) { } } while(1) { // 項目の呼び出し menyu_draw(); // カーソルの移動 kasoru_move(); // エンターキーで実行 if (getkey(13)==1) { menyu_run(); } update(); }
と主人公に書いたのですが、エンターキーでメニューが開いてくれません。どうすればいいのか教えて下さい。
|
Re: 教えてください!
投稿者 : ごま太郎(i60-35-32-37.s02.a001.ap.plala.or.jp)
- 2005/10/24(Mon) 17:53
No.8881
|
|
|
|
while(1) { if (getkey(39)>0) x+=3; //→キーで右に移動 if (getkey(37)>0) x-=3; //←キーで左に移動 if (getkey(40)>0) y+=3; //↓キーで下に移動 if (getkey(38)>0) y-=3; //↑キーで上に移動 if (exp>100) {level++;} //EXPが100になったらLEVELアップ $name="アルシェス"; //名前 $hp=25; //現在HP $max_hp=3000; //最大HP $mp=10; //現在MP $max_mp=2000; //最大MP $lev=1; //Level $attack=10; //攻撃力 $defend=10; //防御力 update(); } だけがループとして実行されるため、その下に書かれている while(1) { // 項目の呼び出し menyu_draw(); // カーソルの移動 kasoru_move(); // エンターキーで実行 if (getkey(13)==1) { menyu_run(); } update(); } が実行されていません。 というわけで、以下のように書きましょう。 while(1) { // 項目の呼び出し menyu_draw(); // カーソルの移動 kasoru_move(); // エンターキーで実行 if (getkey(13)==1) { menyu_run(); }
if (getkey(39)>0) x+=3; //→キーで右に移動 if (getkey(37)>0) x-=3; //←キーで左に移動 if (getkey(40)>0) y+=3; //↓キーで下に移動 if (getkey(38)>0) y-=3; //↑キーで上に移動 if (exp>100) {level++;} //EXPが100になったらLEVELアップ $name="アルシェス"; //名前 $hp=25; //現在HP $max_hp=3000; //最大HP $mp=10; //現在MP $max_mp=2000; //最大MP $lev=1; //Level $attack=10; //攻撃力 $defend=10; //防御力
update(); } ちなみに、私は掲示板にプログラムだけを書いてやり取りするのが苦手です。実行を確認していないのでエラーが出るかもしれませんのでご了承ください。
話としては、一つのループに全部まとめましょうということです。
|
Re: 教えてください!
投稿者 : マシン(p8bdc3f.szoknt01.ap.so-net.ne.jp)
- 2005/10/24(Mon) 18:04
No.8882
|
|
|
|
ありがとうございます。いろいろと迷惑をかけてしまっているみたいで・・・ほんとうにすいません。
|
|