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-2025(c) All rights reserved.