見出し画像

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()

ユーザー名を返します。(廃止予定)

いいなと思ったら応援しよう!