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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0803
なーm何で何で!?4未解決


なーm

リンク

2014/8/3(Sun) 20:21:49|NO.63360

ゲームを作りたくて
repeat
redraw 2
screen 0,600,600
buffer 1
picload "背景.bmp"
gsel 0
pos 0,0
gcopy 1,0,0,600,600
wait 1
redraw 1
loop

*main
buffer 1,30,42
picload "自分.bmp"
gsel 0
gmode 2

stick key,15
if key & 1:x--
if key & 2:y--
if key & 4:x++
if key & 8:y++



if x < 0 :x = 0
if x > 570:x = 570
if y < 0 :y = 0
if y > 570:y = 570

boxf 0,0,600,600
pos x,y
gcopy 1,0,0,40,40
redraw 1
wait 1
redraw
goto *main

としたのですが どーーーーーーーしても出来ません。
自機と背景が一緒に表示されませんし、背景がちらつきます。
対策を教えて下さい。



この記事に返信する


mamo

リンク

2014/8/3(Sun) 20:35:39|NO.63362

命令の意味や動作を一行ずつ考えてみれば原因が分かるよ。



テンクス

リンク

2014/8/3(Sun) 20:40:18|NO.63363

本当はあんまり教えたくありませんが...
redrawの使い方がおかしいような...
違ったらごめんなさい



Satio Soft

リンク

2014/8/4(Mon) 08:33:08|NO.63378

普通は、

redraw 0 〜省略〜 redraw 1
で終わるはずなんですが・・・



SADOUS

リンク

2014/8/4(Mon) 11:44:34|NO.63382

テンクスさん、Satio Softさんの言うように
再描写(redraw)は1セット(redraw 0~redraw 1)が原則。



また、ソースがなんだかおかしな気がします。
一回目のループから抜けだせず永遠と背景を描写しつづけているようです。
基本的には
1.バッファに画像を読み込む
2.ループ開始(repeat) 3.自機や敵機の移動処理など 4.描写 5.待機(wait 1) 6.ループ終了2へ戻る(loop)
という構成で、実際にpicload(ファイルからの読込)を使うのは1.だけです。

mamoさんも言っていますが、命令一つ一つの動作を確認していくのが最良。
F1ヘルプ(HSPリファレンス)は便利ですのでぜひ活用して下さい!



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