YoScript3の標準ライブラリ関数一覧
この記事について
この記事は、Scratchの中でC言語っぽいコードが書けるプロジェクト「YoScript3」の公式リファレンス(のようなもの)です。
かなり項目が多いのでctrl+Fの使用を強く推奨します。
YoScript3のリンクはこちら。
https://scratch.mit.edu/projects/810011049
数学的な演算
基本的なものは以下の通りです。
・足し算「A + B」
・引き算「A - B」
・掛け算「A * B」
・割り算「A / B」
・余剰(割り算の余り)「A % B」
・等値「A == B」
・不等「A != B」
・大なり「A > B」
・小なり「A < B」
・単項プラス「+A」
・炭鉱マイナス「-A」
・アドレス「&A」
・関節参照「*A」
配列、ビット演算、文字列はまだ実装していません。
abs(x)
絶対値を返します。
floor(x)
xを小数点以下切り捨てした値を返します。
ceil(x)
xを小数点以下切り上げした値を返します。
sqrt(x)
xの平方根を返します。
sin(x)
角度xのサインを返します。
cos(x)
角度xのコサインを返します。
tan(x)
角度xのタンジェントを返します。
asin(x)
角度xのアークサインを返します。
acos(x)
角度xのアークコサインを返します。
atan(x)
角度xのアークタンジェントを返します。
ln(x)
xの自然対数を返します。
log(x)
xを底とする数値の対数を返します。
exp(x)
定数eを底とするxのべき乗を返します。
hypot(x, y)
(0, 0)から(x, y)までの距離を測ります。
lerp(A, B, t)
二点aとbの間を、時間tで線形補間します。
tは 0.0 (0%) から 1.0 (100%) までの値を基本的には指定しますが、その範囲を超えても問題ありません。
max(A, B)
AかBのどちらか大きい方の値を返します。
min(A, B)
AかBのどちらか小さい方の値を返します。
pow(base, power)
数値のべき乗を返します。
pi()
円周率を返します。(実際には円周率πの近似値である数値 3.14159265358979323846 を返します。)
乱数
random()
0.0~1.0までの乱数を返します。
random_int(min, max)
minからmaxまでの乱数を返します。
変数の操作
※これらの関数は、引数の先頭に「&」を付ける必要があります。
swap(&A, &B)
変数の値を入れ替えます。
random_liner(&A)
Aをシード値として新たな乱数を生成し、Aに代入します。
動き
set_pos(x, y)
座標を(x, y)にします。
set_direction(x)
角度をxに向けます。
※x=0のとき、スクラッチの表示では90度になります。
set_rotation_style(x)
回転方法を設定します。以下はその指定方法です。
x=1のとき、自由に回転
x=2のとき、左右のみ
x=3のとき、回転しない
ペン
基本的に描画はこれに頼ることになります。
クローンを使って描画することも一応考えておりますが、実装はかなり先になりそうです。
pen_down()
ペンを下ろします。
pen_up()
ペンを上げます。
set_pen_size(x)
ペンの大きさをxにします。
set_pen_color(x)
ペンの色をxにします。RGBAで指定します。
set_pen_brightness(x)
ペンの明るさをxにします。
set_pen_saturation(x)
ペンの鮮やかさをxにします。
set_pen_transparency(x)
ペンの透明度をxにします。
pen_reset()
ペンの状態を初期化します。初期値は以下の通りです。
・色 = 0
・鮮やかさ = 100
・明るさ = 100
・透明度 = 0(不透明)
pen_clean()
ペンで描画したものを全て消します。
pen_stamp()
スタンプします。
音楽
これについては私もよくわかっておりません。
つまり、謎です。
note(x)
xの音符を鳴らします。
読み取り専用
get_time()
2000年からの秒数を返します。
次のフレームまで返す値は変わりません。
get_delta()
1つ前のフレームからの秒数を返します。
get_answer()
答えを返します。
get_mouse_down()
マウスが押されたかどうかを返します。
get_mouse_x()
マウスのx座標を返します。
get_mouse_y()
マウスのy座標を返します。
get_loudness()
音量を返します。(廃止)
get_timer()
タイマーの値を返します。
get_days_since2000()
2000年からの秒数を返します。
同じフレーム内で値が変動します。
get_username()
ユーザー名を返します。(廃止予定)