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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1101
rara (投稿者削除)4解決


rara

リンク

2023/11/1(Wed) 22:14:44|NO.100404

この記事は投稿者により削除されました。
2023/11/8(Wed) 09:21:32



この記事に返信する


沢渡

リンク

2023/11/2(Thu) 00:38:17|NO.100406

このような形で改変してみましたが、どうでしょうか。

screen 0, 720, 480 title "RPG タイトルテスト" //画面の準備 //画面全体は最初に描画しておき、ループ内では必要な部分だけ書き換えた方がよいでしょう。 //picload "gray.png" , 1 //picloadはループのたびに行ってはいけない。(それだと1秒間に何十回とHDDにアクセスすることになるので) //↑実行する際はこのコメントアウトを解除してください color 0, 255, 0 : boxf //画像ファイルがないので仮にこうしておきます color 255, 255, 255 font "DotGothic16" ,40 :pos 230, 100:mes "RPG test" font "DotGothic16" ,25 :pos 280, 160:mes "〜サブタイトル〜" font "MS P明朝" ,20, 1 //フォント名もサイズもオプションも変わらないなら何度もfont文を実行する必要はない。 pos 320, 300:mes "はじめから" pos 320, 330:mes "つづきから" pos 320, 360:mes "オプション" cursor_x0 = 300 //カーソル表示欄の左上のX座標 cursor_y0 = 303 //同Y座標 cursor_pos=0 //カーソルがどの項目に合っているか //以下、カーソルの移動量は30ドットとする buffer 1,30,90 //カーソルが表示される部分を別の画面に待避 gsel 1 : pos 0,0 : gcopy 0,cursor_x0,cursor_y0,30,90 gsel 0 cursor_pos_old=cursor_pos //移動する前のカーソルの位置 color 0,0,0 : font "MS P明朝" ,15, 1 //カーソルを表示するための準備 pos cursor_x0, cursor_y0+cursor_pos*30 : mes "■" repeat stick key if key & $02{ cursor_pos = limit(cursor_pos-1, 0, 2) } if key & $08{ cursor_pos = limit(cursor_pos+1, 0, 2) } if key & $80:end if cursor_pos!=cursor_pos_old { redraw 0 //画面を更新するのはカーソルが移動した時だけなので、redrawはこの時だけ行えばよい pos cursor_x0,cursor_y0+cursor_pos_old*30 //移動する前のカーソル位置に待避させた画像をコピーし、カーソルを消す gcopy 1,0,cursor_pos_old*30,30,30 pos cursor_x0, cursor_y0+cursor_pos*30 : mes "■" //新しい位置にカーソルを表示 cursor_pos_old=cursor_pos redraw 1 } await 16 //await 5は短かすぎる。16で60FPS(1秒間に60ループ)相当。 loop



rara

リンク

2023/11/2(Thu) 19:57:27|NO.100408

恐らくgcopy を使うんだろうなぁと思いつつもよく分からず使っていませんでしたが、おかげさまで良くわかりました!
その他の指摘もとても勉強になりました、ありがとうございます。



Ve

リンク

2023/11/4(Sat) 12:12:27|NO.100430

沢渡さんのコードや注釈通り、描画って回数が多いと結構負担がかかるので、最低限のほうが優しい設計です。

特にRPGはフィールドからバトルへ、アイテム、装備などなどシーン切り替えもあって、描画が複雑です。

画面は bgscrで保管、gcopyで背景にして、カーソルを後で描画。

いきなり大作を作るのは大変なので、来年のコンテストで出せる規模感で根気よく頑張って下さい。



Ve

リンク

2023/11/11(Sat) 23:48:26|NO.100527

えーっと・・・
協力者への感謝の言葉もなく、無言で記事消して・・・

プログラマー云々じゃなく、”人間”として最低になってんだよ。



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