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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0126
jomo画面のちらつき3未解決


jomo

リンク

2008/1/26(Sat) 20:59:03|NO.13288

はじめまして。いきなりですが、下のスクリプトの画面のちらつきをなくしたいです。
どう解決したらいいでしょうか。


screen 0,600,400,0

xx=300
yy=350
jump=0
reju=0

*main
gsel 0
cls
line 0,370,600,370
getkey esc,27
if esc : end
title ">"+yy+"/"+def

getkey a,16
getkey b,17
getkey lk,37
getkey rk,39
pos xx,yy-60 : mes def
pos xx,yy-40 : mes jump
pos xx,yy-20 : mes reju

if(a=1)&&(jump=0): jump=1 : def=10
if(jump=1)&&(def>-15){
if(b=1) : reju=1 : jump=2 : rdef=10
}


if jump=1 : yy-=def : def-=1
if reju=1 : yy-=rdef : rdef-=1
if yy>330 : jump=0 : reju=0 : def=0 : rdef=0 : yy=330

if lk : xx-=8
if xx<0 : xx=0

if rk : xx+=8
if xx>580 : xx=580

pos xx,yy
font "MS ゴシック",40
mes "あ"
wait 1
goto *main


初歩的な質問ですいませんが、何卒よろしくお願いします。



この記事に返信する


KENTA

リンク

2008/1/26(Sat) 21:11:04|NO.13289

ちらつきしないようにするには、
cls命令を使わずredraw,boxf,color命令を使ってちらつきを防いでください。

↓ちらつきを防いだスクリプト

*main redraw 0 color 255,255,255 boxf color pos 0,0 mes rnd(1000) redraw wait 1 goto *main



Hir

リンク

2008/1/26(Sat) 21:12:50|NO.13290

redrawという命令があります。
画面の初期化の前に(あなたのスクリプトではcls)redraw 0 を、
画面の変更の完了の後(wait 1 の後)にredraw 1 を
付け足してみてください。

この命令はちょうど前の画面をパソコンに表示している間に裏に次のこまを描画して、
描画が完了した後に裏返してそれを見せ、また裏に次の描画をする、
というような命令です。
当然画面の目の前であからさまに描画をしていくよりチラつきは無くなりますよね。

ちなみにclsは画面の完全な消去で、処理速度が遅いので、画面の初期化はboxfで
真っ白に塗りつぶすほうがよいでしょう。



GENKI

リンク

2008/1/27(Sun) 02:57:47|NO.13301

> 画面のちらつきをなくしたいです。

よくある質問なんで、過去ログを探してみるとたくさんの解答や解説が見つかります。
過去ログ検索を活用していただけると幸いです。

それと参考になりそうなサイトはたくさんありますので一部を紹介しておきます。

[HSP開発Wiki]
http://hspdev-wiki.net/?HSP%B9%D6%BA%C2%2F%B4%F0%CB%DC%C5%AA%A4%CA%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%CE%A5%D1%A5%BF%A1%BC%A5%F3

[HotSoupProcessorBeginner'sClub]
http://www.rinku.zaq.ne.jp/ultimate/hsp3/beginner/
HSP3入門講座「第20章 アニメーション1」を参照してみてください。

このほかにもたくさんいいサイトがあるので参考にしてみてください。
http://hsp.tv/play/link2.html



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