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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0903
ゆっぺDirectXのes_gravity3解決


ゆっぺ

リンク

2007/9/3(Mon) 02:36:05|NO.10862

現在DirectXをつかってゲームを作っているのですが
es_gravityの使い方がいまいち分かりません。

es_set 100,100,100,200,1,0
es_flag 100,500
es_gravity 100,10,20

repeat
getkey endgame,27:if endgame=1:gosub *owari ;強制終了
es_cls
es_draw ,,,1
await 0
es_sync
loop

これでいけるような気がするのですが、スプライトが同じ場所から移動しません。
es_gravityの値を変えても、es_flagの値を変えても結果は同じでした。
どうかよろしくお願いします



この記事に返信する


Drip

リンク

2007/9/3(Mon) 19:09:11|NO.10863

Dripです。

 ゆっぺさん、こんにちは。
es_gravity命令の使い方がわからないとのことですが、なぜ

es_flag 100,500
と書けば、重力加速が有効になると思われたのですか?
これでは物体は落下を開始しません。

 es_gravityの使い方以前に、hspdxのスプライトに関する知識や、
HSPの数値の扱い方に関する知識が欠落しているように思えます。
hspdxは一見するとゲームを簡単に作れるプラグインというイメージがありますが、
実はHSP標準命令で作るよりもかなりスキルを必要とします。

 一度、HSP3付属マニュアルの、
・プログラミングマニュアル1・基本仕様ガイド (hspprog.htm)
・(拡張プラグイン)HSPDX.DLL マニュアル (hspdx.txt)
を読み直した上で、プログラムを組み直してみてください。

 参考までに、以下にhspdxを使用した重力加速を行うサンプルを示します。

#include "hspdx.as" wx=640:wy=480:es_ini:onexit *ex es_screen wx,wy,8,,2:if stat=1 | stat=2 : dialog "error":end buffer 3,256,256:picload dir_exe+"\\sample\\hspdx\\testchr.bmp",1 es_buffer 3 es_size 64,64 es_pat 0,0,64 gsel 0:es_cls:es_sync:wait 100 repeat es_cls if cnt\10=0:{ es_exnew id es_set id,rnd(wx),rnd(wy),0 //ランダムな位置にりんご生成 es_flag id,100|$400|$8000 //落下・自動消滅有効 es_gravity id,rnd(512)-256,rnd(512) //ランダムな速度で落下 } es_draw es_sync 16 await loop *ex es_bye end
ではではがんばってください。



ゆっぺ

リンク

2007/9/3(Mon) 20:32:41|NO.10865

できました。ありがとうございます。
10進数で書いていたのが間違いでした。
$500ですね。$400だけでもいけましたが。



ゆっぺ

リンク

2007/9/4(Tue) 16:12:29|NO.10872

解決チャックし忘れ



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