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

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

47名無しさん:2021/05/07(金) 11:48:25 ID:FIh5NQIE
続き(改行が多すぎとエラーが出たので分割)

★value_wave 値を揺らす時に使う
・Studio2.3より前
/// value_wave(center, wave_speed, width)
return argument0 + sin(current_time * 0.00628319 * argument1) * argument2

・Studio2.3以降
function value_wave(center, wave_speed, width)
{
return center + sin(current_time * 0.00628319 * wave_speed) * width
}

・使い方
// Stepイベント - タイトルのロゴを揺らすのに使える
// 上下に揺らす
y = value_wave(room_height / 2, 5, 10)
// 回転させて揺らす
image_angle = value_wave(0, 2, 4)


★wrap ラップアラウンド関数(下限値から上限値の間でループさせる)
・8.1以前
if(argument1 >= argument2) { show_error("The value of arugment1 is greater than argument2.", true) }
var n; n = (argument0 - argument1) mod (argument2 - argument1)
if(n >= 0) { return n + argument1 } else { return n + argument2 }

・Studio
/// wrap(x, low, high)
if(argument1 >= argument2) { show_error("The value of low is greater than high.", true) }
var n = (argument0 - argument1) % (argument2 - argument1)
if(n >= 0) { return n + argument1 } else { return n + argument2 }

・Studio2以降 Studio2.3より前
/// wrap(x, low, high)
if(argument1 >= argument2) { show_error("lowの値がhighよりも大きいです。", true) }
var n = (argument0 - argument1) % (argument2 - argument1)
return (n >= 0) ? (n + argument1) : (n + argument2)

・Studio2.3以降
function wrap(x, low, high)
{
if(argument1 >= argument2) { show_error("lowの値がhighよりも大きいです。", true) }
var n = (x - low) % (high - low)
return (n >= 0) ? (n + low) : (n + high)
}

・使い方 - セーブデータを選ぶ画面で使える
if(keyboard_check_pressed(vk_left)) { m_save -= 1 }
if(keyboard_check_pressed(vk_right)) { m_save += 1 }

m_save = wrap(m_save, 0, 3) // 0, 1, 2の間でループ(3は含まれない)

// 回転にも使える
image_angle = wrap(image_angle+0.1, 0, 360)
// 360以上になったら0にループ(小数を使う場合は演算誤差に注意)


新着レスの表示


名前: E-mail(省略可)

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

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

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

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