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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0322
mrtomato文字だけを消す8解決


mrtomato

リンク

2011/3/22(Tue) 13:36:54|NO.37778

こんにちは

・悩んでいる内容
ゲームを作っていてその中に時間を表示しようと思います
しかしそれをするには文字を一回消去するため画象も消え再描写します
すると時間が経つとエラーが出てしまいます
文字だけを消す方法はありませんか

・やってみたこと

boxfでやって見る

何かいい方法があれば教えてください よろしくおねがいします



この記事に返信する


SYAM

リンク

2011/3/22(Tue) 13:52:19|NO.37780

「エラーが出てしまいます」
このエラーがどんなものなのかわからないと、答えることができません。
まずは、そのエラーについて詳しく具体的に。



mrtomato

リンク

2011/3/22(Tue) 14:05:15|NO.37781

オブジェクト数が多すぎますとでます

ボタンと画象は消さないで 文字だけを消したいんですがうまくいかないんですよねえ



SYAM

リンク

2011/3/22(Tue) 14:38:30|NO.37784

その様子だと、処理の順序を間違っているのではないでしょうか。
文字を書く前の画面を再現するために、オブジェクトを配置する命令を何度も呼んでしまっているとか。

これ以上は実際のスクリプトを見ないと分からないですね。。



mrtomato

リンク

2011/3/22(Tue) 15:07:28|NO.37792

buffer 2,750,750//仮想に貼り付ける(2)
picload "image"


screen 0,600,400,0
*button1
repeat
color 255,255,255
boxf
color 0,0,0

pos 40,250
button"寝る",*button1//寝るというボタンを表示
pos 40,330
button"セーブ",*button1//セーブというボタンを表示

pos 200,20
gcopy 2,0,0,750,750 //仮想に貼り付けておいた画像を表示

pos 200,300
mes ""+month+"月"+day+"日"+time+":"+minutes1+""+minutes2+"("+Weather1+")     "+en+"円"

minutes2=minutes2+1

if minutes2=10{
minutes1=minutes1+1
minutes2=0
}
else{
}
if minutes1=6{
time=time+1
minutes1=0
}
else{
}
if time=24{
day=day+1
time=0
}
else{
}

wait 1

loop

このやり方だと画面もチカチカするんですよねえ



SYAM

リンク

2011/3/22(Tue) 15:40:45|NO.37796

やはり、何度もオブジェクトを配置しちゃっていますね。
以下のように修正してみます。


buffer 2,750,750//仮想に貼り付ける(2) //picload "image" screen 0,600,400,0 pos 40,250 button"寝る",*button1//寝るというボタンを表示 pos 40,330 button"セーブ",*button1//セーブというボタンを表示 *button1 repeat redraw 0 color 255,255,255 boxf color 0,0,0 pos 200,20 gcopy 2,0,0,750,750 //仮想に貼り付けておいた画像を表示 pos 200,300 mes ""+month+"月"+day+"日"+time+":"+minutes1+""+minutes2+"("+Weather1+") "+en+"円" minutes2 = minutes2+1 if minutes2=10 { minutes1 = minutes1+1 minutes2 = 0 } else{ } if minutes1=6 { time = time+1 minutes1 = 0 } else{ } if time=24 { day = day+1 time = 0 } else{ } redraw 1 wait 1 loop



mrtomato

リンク

2011/3/22(Tue) 16:09:16|NO.37797

ありがとうございました
それとコレで画象をチカチカさせない方法ってありませんか?



SYAM

リンク

2011/3/22(Tue) 16:17:59|NO.37799

redraw 命令についてヘルプを読んでみてください。
先に挙げたスクリプトには、すでに redraw 命令を使ってチラつきをなくす仕組みが組み込んでありますから、文字を書く前の画面を書き戻すタイミングさえ間違わなければ大丈夫なハズです。



mrtomato

リンク

2011/3/22(Tue) 16:26:54|NO.37800

本当にここまでありがとうございました



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