したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

アイワナ作成に役立つテクニック紹介スレ

19名無しさん:2017/10/22(日) 11:49:45 ID:bp5PiC0g
少しだけでも処理を軽くする

恐らく利用する人が多いであろうdegtorad()ですが
これを使わずにできるだけ速くする方法を考えてみます

1.予め計算をする
基本はこんな感じです

r = degtorad(60);

r = 1.047197;


乱数使っていて さらに円状に出すのであれば

r = random_range(0, 6.283185);
var i;
for(i = 1; i < 6; i += 1)
{
var hoge;
hoge = r + 1.047197 * i
/*略*/
}

みたいな感じになります
一番速いです

弱点としましては値を変えたい場合に再度計算をしないといけないので面倒というくらいです



2.掛け算でラジアンに変換する
恐らくですがdegtorad関数の中身の計算はこのようになっています

return argument0 / 180 * 3.141592;

よく見てください
これは3.141592 / 180で予め計算できることがわかります
これを計算すると
0.0174533
という値が出てきます

これをlite版であれば
global.deg2rad = 0.0174533; //toの部分を2で置き換えている

pro版であれば
Define Constantsで登録


そして使い方は
r = degtorad(60);

//lite版
r = 60 * global.deg2rad;

//pro版
r = 60 * deg2rad;

こうするとそこまででもないですが
degtoradよりも処理が速いです

まぁ耐久とかですと結構使うと思うのでそれなりに
軽くなるのかもしれないですね

ただし Scriptで作ると逆に遅いです
なので 掛け算で変換をすることが重要です

1番のやり方よりは処理が遅いですがその分角度が分かりやすく
簡単に値を変えられるのでこちらをおすすめします


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板