HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0630
H.Enceladusメニュー画面のシステム4解決


H.Enceladus

リンク

2013/6/30(Sun) 12:54:24|NO.55352

現在、DirectXを用いたリバーシのソフトを作っている最中なのですが、
メニュー画面で矢印キーを押しても項目が移動しない状態です。
下キーを押すと矢印が下へ(一番下なら一番上の項目へ)、
上キーを押すと矢印が上へ(一番上なら一番下の項目へ)いく形にしていく予定です。
矢印キーの挙動はif文でそれぞれやっています。
以下はソースです。

*initialize #include "hmm.as" title "ReversiInGensokyo〜限界への挑戦〜" diinit ddinit ddscreen 640,480,1,2 ; タイトル表示 await 16 color 0,0,30 boxf 0,0,640,480 color 255,0,0 font "MS ゴシック",32 pos 70,100 mes "ReversiInGensokyo〜限界への挑戦〜" color 255,255,255 font "MS ゴシック",32 pos 238,330 mes "Push Z Key" goto *Wait_Z redraw *main_title gosub *Clear_Screen await 16 color 0,0,30 boxf 0,0,640,480 color 255,0,0 font "MS ゴシック",32 pos 61,95 mes "ReversiInGensokyo〜限界への挑戦〜" color 255,255,255 font "MS ゴシック",25 pos 263,330 mes "Start" pos 263,380 mes "???" pos 263,430 mes "Versus" goto *select redraw 0 *Wait_Z await 16 digetkeystate k,0 if k!1024 { goto *Wait_Z }else{ goto *main_title } *Clear_Screen ddcolor 0,0,0 ddboxf 0,0,640,480 return *select await 16 font "MS ゴシック",25 a=0 pos 235,330+50*a mes "⇒" digetkeystate k,0 if k&2!0{a++} ;if k&1!0{a--} if a>3{a=0} if a<0{a=2} goto *select
メニューにある2つ目の項目は、
セーブデータが1つでもないと表示されないシステムにする予定です。



この記事に返信する


kanahiron

リンク

2013/6/30(Sun) 13:44:10|NO.55355

何がしたいのかよくわからなかったので

*initialize title "ReversiInGensokyo〜限界への挑戦〜" screen 0,640,480, ; タイトル表示 color 0,0,30 boxf 0,0,640,480 color 255,0,0 font "MS ゴシック",32 pos 70,100 mes "ReversiInGensokyo〜限界への挑戦〜" color 255,255,255 font "MS ゴシック",32 pos 238,330 mes "Push Z Key" repeat getkey key,90 if key : break wait 10 loop color boxf 230,330,420,370 color 255,255,255 font "MS ゴシック",25 pos 263,330 mes "Start" pos 263,380 mes "???" pos 263,430 mes "Versus" repeat redraw 0 stick houkou if houkou = 2 { if a = 0 { a = 2 } else { a-- } } if houkou = 8{ if a = 2{ a = 0 } else { a++ } } color boxf 230,330,260,480 color 255,255,255 pos 235,330+50*a mes "⇒" redraw 1 await 16 if houkou = 32:break loop cls mes "aは"+a+"です"
hmm.dllの機能を全く使っていなかった(使う意味がなかった)ので使ってないです



H.Enceladus

リンク

2013/6/30(Sun) 14:38:56|NO.55357

一応かいてみたとおりにはやってみましたが、実行時に白い画面のままになっていました。
(本来は紺色の予定でした)
本来は、上下キーを押したときに矢印が動くはずでしたが、
押しても全く動かなかったので、一か八かここへ質問へ来た次第です。

*initialize #include "hmm.as" title "ReversiInGensokyo〜限界への挑戦〜" screen 640,480,1,2 ; タイトル表示 color 0,0,30 ←1つ目の画面ここから boxf 0,0,640,480 color 255,0,0 font "MS ゴシック",32 pos 70,100 mes "ReversiInGensokyo〜限界への挑戦〜" color 255,255,255 font "MS ゴシック",32 pos 238,330 mes "Push Z Key" ←1つ目の画面ここまで repeat getkey key,90 if key:break; wait 10 loop color 0,0,0 ←ここから2つ目の画面 boxf 230,330,420,370 color 255,255,255 font "MS ゴシック",25 pos 263,330 mes "Start" ←案内人が出てきてオープニングステージスタート pos 263,380 mes "???" ←セーブデータが0のときに選択するとエラーを出す pos 263,430 mes "Versus" ←ネット通信による2人対戦 repeat redraw 0 stick houkou if houkou=2{ if a=0{ a=2 }else{ a-- } } if houkou=8{ if a=2{ a=0 }else{ a++ } } color 0,0,0 boxf 230,330,260,480 color 255,255,0 pos 235,330+50*a mes "⇒" redraw 1 await 16 if houkou=32:break loop
あまりにも質問し過ぎるとクレクレに思われますので、これでだめなら後は自分でやります。



kanahiron

リンク

2013/6/30(Sun) 15:01:19|NO.55362

screen 640,480,1,2
スクリーンID 640



H.Enceladus

リンク

2013/6/30(Sun) 15:16:54|NO.55366

確かに、HSPリファレンスのscreen関数の項を参照したところ、正常動作を確認しました。
以降は自力で製作していこうと思います。
ご回答ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.