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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0820
自機の動く範囲を指定する方法を教えてもらえませんか?3未解決


リンク

2017/8/20(Sun) 13:04:14|NO.81018

この画像を動かすサンプルはコントロールキーで動かすとスクリーンからはみ出してしまうのですが自機の動く範囲を指定することはできないのでしょうか超初心者ですみません
buffer 1
picload "自機3.png"
w=ginfo_winx
h=ginfo_winy
gsel 0
xx=310
yy=200
repeat
stick key,15
if key=2:yy-=3
if key=8:yy+=3
if key=1:xx-=3
if key=4:xx+=3

if key=3:{yy-=3
xx-3}
if key=6:{yy-=3
xx+=3}
if key=9:{yy+=3
xx-=3}
if key=12:{yy+=3
xx+=3}
redraw 2
color 0,255,255:boxf
color 0,0,0
pos xx,yy:gcopy 1,0,0,w,h
redraw 1
wait 1
loop



この記事に返信する


NAME

リンク

2017/8/20(Sun) 13:08:33|NO.81019

確か前にもHOMEの欄は自身のホームページなどのURLを記載する場所って教えたはずなんだけど。

動く範囲は自機の座標を取得して画面サイズと比較、画面サイズより自機の座標数値が大きかったら
自機を動かさないようにすればいい。



ソラ(元スペース)

リンク

2017/8/20(Sun) 13:17:31|NO.81020

limitを使ってみては?



ゆー

リンク

2017/11/4(Sat) 18:24:36|NO.81783

こんな感じですか?

buffer 1 picload "自機3.png" w=ginfo_winx h=ginfo_winy gsel 0 xx=ginfo_winx/2-w/2 yy=ginfo_winy/2-h/2 repeat stick key,15 //移動 if key=2:yy-=3 if key=8:yy+=3 if key=1:xx-=3 if key=4:xx+=3 if key=3:yy-=3:xx-3 if key=6:yy-=3:xx+=3 if key=9:yy+=3:xx-=3 if key=12:yy+=3: xx+=3 //動く範囲を指定 if xx <= 0:xx = 0 if yy <= 0:yy = 0 if xx >= ginfo_winx-w :xx = ginfo_winx-w if yy >= ginfo_winy-h :yy = ginfo_winy-h redraw 0 color 0,255,255:boxf color 0,0,0 pos xx,yy:gcopy 1,0,0,w,h redraw 1 wait 1 loop



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