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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1223
Qちゃんhgimg3.asをインクルードすることで起きる不具合7解決


Qちゃん

リンク

2012/12/23(Sun) 15:59:41|NO.51331

例えば下のようなものを作ったとします。

y=0.0
flag=0
count=0

repeat
redraw 0

color 255,255,255:boxf
color:boxf 0,y,100,y+50

stick key

if key=2 & flag=0:flag=1
if flag=1 & count<=500{
y-=0.25
count++
}

if key=8 & flag=0:flag=2
if flag=2 & count<=500{
y+=0.25
count++
}

if count=500{
flag=0
count=0
}

redraw 1
await 1
loop

簡単なものですが、やりたいことはこんな感じです(初心者なので汚かったり不合理なとこがあるかも知れません)。

ここにhgimg3.asをインクルードすると、動作が極端に遅くなります。
試しに変数を1ずつ増やしていくプログラムで確認してみたら、インクルードされている方が明らかに数字の増え方が遅かったです。
で、awaitをwaitに変えてみたら、数字の増え方は同じでした。
ですがwaitはPCによってスピードが違ったりするのであまり使いたくありません。

どうにかしてインクルードしても動作が変らないように出来ないでしょうか?



この記事に返信する


@key

リンク

2012/12/23(Sun) 16:17:25|NO.51332

hgimgはまだよく理解してないので答えられないけど一言

自分のPCでは変わりませんでした


インクルードでは命令追加のみなので動作が変わるはずないと思うんですが・・・



fortunehill

リンク

2012/12/23(Sun) 17:03:50|NO.51333

/*vistaSP2環境で#runtime "hsp3hg"を先頭に付加すると明らかに遅くなりますね
他のランタイムでは大丈夫でした*/



暇人

リンク

2012/12/23(Sun) 17:26:36|NO.51334

hgimg3.asをインクルードするとランタイムがhsp3hgになるので
普通のスクリプトをインクルードしたのとは違う

これは推測だけどawaitの精度がHSP3.31β1で上げられたけど
hsp3hgランタイム側は環境によって精度が違う(1でも10ms前後になる)以前のままの可能性
(今使ってるのはHSP ver3.2β4)

hgimg3を使ってるのに通常描画をしてる理由が分からないので何が良い方法か分からない
理由によってはhgimg3の命令使えば良いだけかも知れないし・・・



Qちゃん

リンク

2012/12/23(Sun) 17:49:16|NO.51336

>@keyさん
>fortunehillさん

二つのPCで同じ現象が起きました。
両方ともwin7です。

>暇人

初心者なのでちょっと良く分からないのですが・・・
インクルードする理由としては、dmm命令を使いたいからです。
描画に関しては質問で行ったようなことをしたいだけです。
ヘルプ見てみたらhgimg3用の命令もあるんですね・・・



Qちゃん

リンク

2012/12/23(Sun) 17:56:52|NO.51337

暇人さんへのレスに敬称を付け忘れてました・・・
申しわけありません。



暇人

リンク

2012/12/23(Sun) 18:34:05|NO.51340

あぁ、サウンドだけ使いたいのね
ならhgimg3じゃ無く

#include "hspogg.as"
で良い
dmm系命令の使い方は同じ

sampleがsample\hgimg3\ogg_sndtest.hsp

実行ファイルにしたときには
実行ファイルと同じフォルダ内にhspogg.dllを入れる



Qちゃん

リンク

2012/12/23(Sun) 20:07:59|NO.51343

>暇人さん

おお!
無事にスムーズに動きました!

本当にありがとうございます!



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