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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0713
流星群説明しにくいですが、こんな命令ありませんか?5解決


流星群

リンク

2012/7/13(Fri) 13:15:32|NO.47651

こんな命令ないですか??

たとえば
A地点にpsetで点がうたれていたとします。
A地点は100,100にあります。
A地点の座標変数は a_xとa_yとします;現在両方に100が入っています

次にマウスでクリックした地点をB地点とします
B地点は200,200にあります

このばあい、 a_x、a_yに一ずつたすのを100回したら終わりますが、

この 1 を自動計算してくれる命令ってないですか?
たとえば
B地点が200,150だったら
自動で スピード等の変数に 1と0,5を入れてくれるような命令です



この記事に返信する


TMKL

リンク

2012/7/13(Fri) 14:17:14|NO.47652

ありません

距離差/フレーム数 ですから、
無理に自動化しなくても簡単な計算で済みます

どうしても自動化したいなら、こんな感じに関数を作って、
ソースの先頭にコピペすればいいのでは?


#module ;関数名 流星 ;p1 元の点(整数) ;p2 移動先(整数) ;p3 移動に使うフレーム数(整数) ;(p2-p1)/p3を実数で返す #defcfunc 流星 int p1,int p2,int p3 return double(p2-p1)/p3 #global


使用例

#module ;関数名 流星 ;p1 元の点(整数) ;p2 移動先(整数) ;p3 移動に使うフレーム数(整数) ;(p2-p1)/p3を実数で返す #defcfunc 流星 int p1,int p2,int p3 return double(p2-p1)/p3 #global ax = 100 ay = 100 bx = 200 by = 150 x = 流星(ax,bx,100) y = 流星(ay,by,100) mes "a(" + ax + "," + ay + ")" mes "b(" + bx + "," + by + ")" + "\n" mes "x方向 " + x mes "y方向 " + y



流星群

リンク

2012/7/13(Fri) 21:46:09|NO.47660

(移動先-元の位置)/フレーム数

ですか。
そうやってできるのですか〜。
勉強します。

あと命令では無いんですね。



流星群

リンク

2012/7/13(Fri) 21:46:19|NO.47661

解決



TMKL

リンク

2012/7/13(Fri) 23:02:41|NO.47665

>命令では無いんですね
関数の方が使いやすいと感じたので、関数にしてみました
お好みで命令に改造して下さい



流星群

リンク

2012/7/14(Sat) 10:43:41|NO.47671

あ、はい。
書いてくれたスクリプトを見て
確かに関数の方が良いなと思いました。
ありがとうございました。



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