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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0103
おぼrepeatはLinuxでは使えないのでしょうか?4解決


おぼ

リンク

2019/1/3(Thu) 02:41:18|NO.86242

お世話になります。おぼです。

下記のスクリプトを、Linuxで実行すると、"山"が止まってしまうのですが、Windowsで実行すると動くんです。repeatが詰まってるように思うのですが、Linux版では対応してないのでしょうか?よろしくご指導お願いいたします。


#include "hsp3dish.as" *main screen 0,600,400,SCREEN_FIXEDSIZE ;アニメ処理 redraw 0 x=0:y=200 repeat 12 color $00,$00,$00:boxf color $00,$FF,$00:pos x,y:mes "山" ;redraw 1 await 100 x=x+50 redraw 1 loop stop

iniファイル

; hsp3dish settings wx=600 wy=400 autoscale=0

です。よろしくお願いいたします。



この記事に返信する


しまくろねこ

リンク

2019/1/3(Thu) 09:00:55|NO.86244

あけましておめでとうございます。

Linuxは判らないのですが、redraw 0の位置がよろしくないのが原因かと思います。


#include "hsp3dish.as" *main ;アニメ処理 x = 0 : y = 200 repeat 12 redraw 0 color $00, $00, $00 : boxf color $00, $FF, $00 : pos x, y : mes "山" redraw 1 await 100 x = x + 50 loop stop



おぼ

リンク

2019/1/3(Thu) 23:08:36|NO.86248

あけましておめでとうございます。本年もよろしくお願いします。おぼです。
ご指示通り、

redraw 0
redraw 1

の位置を変えるとうまくいきました。ありがとうございました。

いつも思うのですが、redrawの位置は決まっているように思うのですが、ヘルプにも書いていませんでした。どこを参考にすればよいでしょうか?あるいはご教授願えませんでしょうか?よろしくお願いいたします。



moglaphic

リンク

2019/1/4(Fri) 00:10:09|NO.86252

少し話が逸れますが、
redraw 0を前に。redraw 1を後ろにすると、その間の命令の描画がなめらかになります。

redraw 1だけで動かすとまれに描画が遅れますから、
基本的にはredraw 0~[描画できる命令]~redraw 1という組み合わせでソースを組むのが普通
だと思います。

このソースで検証できます(適当、わかりずらい、意味がないものを含むw)
私はLinux , wine環境上(つまりWindows版)で検証しました。

CPU使用率がやヴぁいので気をつけてください

;左の色がついた四角形が変形する様子を見て確認してください count=1 repeat redraw 0 ;ここを消したり、repeatの前に動かしたりして、確かめてみてください title "i:"+i+"\ttime:"+time+"\theikin:"+heikin+"\tcount"+count+"\tfirst:"+first color 255,255,255:boxf color:pos 0,i:mes"あ\tAa" boxf time,heikin,count,i color 255,44,43:boxf time,heikin+100,count,i+100 color 255,44,134:boxf time,heikin+200,count,i+200 color 0,199,100:boxf time,time,i,i i+77:if i>100:time+i:heikin=time/count:count++:i=0:if count=2:first=time redraw 1 await 1 loop



おぼ

リンク

2019/1/4(Fri) 04:58:28|NO.86258

夜分遅くすいません。おぼです。

Linux環境なので、

#include "hsp3dish.as";ここが必要。 ;左の色がついた四角形が変形する様子を見て確認してください count=1 repeat redraw 0 ;ここを消したり、repeatの前に動かしたりして、確かめてみてください title "i:"+i+"\ttime:"+time+"\theikin:"+heikin+"\tcount"+count+"\tfirst:"+first color 255,255,255:boxf color:pos 0,i:mes"あ\tAa" boxf time,heikin,count,i color 255,44,43:boxf time,heikin+100,count,i+100 color 255,44,134:boxf time,heikin+200,count,i+200 color 0,199,100:boxf time,time,i,i i+77:if i>100:time+i:heikin=time/count:count++:i=0:if count=2:first=time redraw 1 await 1 loop
とすると、検証できました。ありがとうございます。かなり分かりやすかったです。
確かにCPUの使用率が大変ですね。



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