ドキュメント / GameMakerJapan / GML関数 / 数値・文字列を計算する関数群


ドキュメント/GameMakerJapan

GML関数 / 数値・文字列を計算する関数群


■目次:


▼定数(true、false、pi)

  • true = 1
  • false = 0
  • pi = 3.14159265(これから先は不正確な値が出てしまう。)

▼実数を扱う関数

■乱数

  • random(x) - 0以上x未満の乱数
    ※例:
    a = random(10);
    b = floor(a);
    とすれば、bに0,1,2,3,4,5,6,7,8,9のいずれかの整数が代入されます。

■数学関数など

  • abs(x) - xの絶対値
  • sign(x) - xの符号を返す(xが負ならば-1、正ならば1、0ならば0)
  • round(x) - xに一番近い整数値(四捨五入のようなもの)
  • floor(x) - x以下で最大の整数を返す(床をイメージしてみましょう)
  • ceil(x) - x以上で最小の整数を返す(天井をイメージしてみましょう)
  • frac(x) - xの小数部。つまり小数点より後ろの部分。

■対数関数

■三角関数

  • sin(x) - xのサインの値(ラジアン単位)
  • cos(x) - xのコサインの値(ラジアン単位)
  • tan(x) - xのタンジェントの値(ラジアン単位)
  • arcsin(x) - xのアークサインの値(-1≦x≦1でなければならない。-pi/2≦戻り値≦pi/2)
  • arccos(x) - xのアークコサインの値(-1≦x≦1でなければならない。0≦戻り値≦pi)
  • arctan(x) - xのアークタンジェントの値(-pi/2<戻り値<pi/2)
  • arctan2(y,x) - arctan(y/x)を計算して、全四象限でのラジアン角を返す。(-pi<戻り値≦pi、ただし±pi/2を除く)

■以下3つの関数には16個までの引数を渡すことができます。

  • min(val1,val2,val3, ...) - 引数のうち最も小さな値を返す(引数はすべて実数 または すべて文字列でなければならない)
  • max(val1,val2,val3, ...) - 引数のうち最も大きな値を返す(引数はすべて実数 または すべて文字列でなければならない)
  • mean(val1,val2,val3, ...) - 引数の平均値を返す(引数はすべて実数)

■距離・角度の算出

■ベクトル

  • lengthdir_x(len,dir) - 指定された長さ・角度によって決定されるベクトルのX成分を返す。
  • lengthdir_y(len,dir) - 指定された長さ・角度によって決定されるベクトルのY成分を返す。

■実数or文字列かどうかを調べる


▼文字列を扱う関数

  • chr(val) - valで指定されたASCIIコードをもつ文字列を返します。
  • ord(str) - 文字列strの最初の文字のASCIIコードを返します。

■型の変換

  • real(str) - strを実数に変換します。strは負の符号(-)/小数点/指数部を含むことができます。

※指数部の記述例

real("77e+3")は、77000(すなわち77x103)
real("77e-3")は、0.077(すなわち77x10-3)
real("1.21e-3")は、0.00121(すなわち1.21x10-3)に等しい。
eではなくEと書いてもOK。
  • string(val) - valの実数を文字列に変換します。valが小数部を含む場合は、小数部2桁までのものに変換されます。

※変換の際の四捨五入について

string(1.0250)は、"1.02"
string(1.0251)は、"1.03"に等しい。
(小数第3位以下>0.005)のとき+0.01されます。
  • string_lower(str) - 小文字(abc...)に変換したstrのコピーを返します。
  • string_upper(str) - 大文字(ABC...)に変換したstrのコピーを返します。
  • string_letters(str) - strに入っている文字のみで構成される文字列を返します。
  • string_digits(str) - strに入っている数字のみで構成される文字列を返します。

▼クリップボード文字列の取得・設定を行う関数

▼日付・時刻を扱う関数

時刻は実数で、 整数部分は1899/12/30から経過した日数を表し、 小数部分は24時間を1として0時から経過した時間の割合を表します。

時刻に関する関数は以下の通りです。

■現在の時刻の情報を得る関数

  • date_current_datetime()? - 現在の時刻を実数で取得する。
  • date_current_date()? - 現在の時刻の日数のみを実数で取得する。時間は無視される。
  • date_current_time()? - 現在の時刻の時間のみを実数で取得する。日数は無視される。

■年月日を指定して時刻を得る関数

  • date_create_datetime(year,month,day,hour,minute,second)? - 引数で指定した時刻の実数を取得する。
  • date_create_date(year,month,day)? - 引数で指定した日付の実数を取得する。
  • date_create_time(hour,minute,second)? - 引数で指定した時間の実数を取得する。

■年月日の指定が正しいか調べる関数

  • date_valid_datetime(year,month,day,hour,minute,second)? - 引数で指定した時刻が有効かどうか返す。
  • date_valid_date(year,month,day)? - 引数で指定した日付が有効かどうか返す。
  • date_valid_time(hour,minute,second)? - 引数で指定した時間が有効かどうか返す。

■時刻に加算する関数 (amount:整数)

  • date_inc_year(date,amount)? - 指定した時刻より、(amount)年後の時刻を実数で取得する。
  • date_inc_month(date,amount)? - 指定した時刻より、(amount)ヶ月後の時刻を実数で取得する。
  • date_inc_week(date,amount)? - 指定した時刻より、(amount)週間後の時刻を実数で取得する。
  • date_inc_day(date,amount)? - 指定した時刻より、(amount)日後の時刻を実数で取得する。
  • date_inc_minute(date,amount)? - 指定した時刻より、(amount)分後の時刻を実数で取得する。
  • date_inc_second(date,amount)? - 指定した時刻より、(amount)秒後の時刻を実数で取得する。

■時刻から情報を得る関数

  • date_get_year(date)? - 指定した時刻の年を取得する。(西暦)
  • date_get_month(date)? - 指定した時刻の月を取得する。(1?12)
  • date_get_week(date)? - 指定した時刻の週数を取得する。(1?53)
  • date_get_day(date)? - 指定した時刻の日付を取得する。(1?31)
  • date_get_hour(date)? - 指定した時刻の時間を取得する。(0?24)
  • date_get_minute(date)? - 指定した時刻の分を取得する。(0?60)
  • date_get_second(date)? - 指定した時刻の秒を取得する。(0?60)
  • date_get_weekday(date)? - 指定した時刻の曜日を取得する。(月曜を1?日曜日を7とした整数)
  • date_get_day_of_year(date)? - 指定した時刻の、その年のはじめから経過した日数を取得する。
  • date_get_hour_of_year(date)? - 指定した時刻の、その年のはじめから経過した時間を取得する。
  • date_get_minute_of_year(date)? - 指定した時刻の、その年のはじめから経過した分を取得する。
  • date_get_second_of_year(date)? - 指定した時刻の、その年のはじめから経過した秒を取得する。

■時刻間の長さを計算する関数(戻り値には小数点以下も含まれます)

  • date_year_span(date1,date2)? - (date1)から(date2)までの経過年数を実数で取得する。
  • date_month_span(date1,date2)? - (date1)から(date2)までの経過月数を実数で取得する。
  • date_week_span(date1,date2)? - (date1)から(date2)までの経過週数を実数で取得する。
  • date_day_span(date1,date2)? - (date1)から(date2)までの経過日数を実数で取得する。
  • date_hour_span(date1,date2)? - (date1)から(date2)までの経過時間数を実数で取得する。
  • date_minute_span(date1,date2)? - (date1)から(date2)までの経過分数を実数で取得する。
  • date_second_span(date1,date2)? - (date1)から(date2)までの経過秒数を実数で取得する。

■2つの時刻を比較する関数

(戻り値: (date1)<(date2)で-1,(date1)==(date2)で 0,(date1)>(date2)で 1 )

  • date_compare_datetime(date1,date2)? - (date1)と(date2)を比較する。
  • date_compare_date(date1,date2)? - (date1)と(date2)の日数部分のみ比較する。
  • date_compare_time(date1,date2)? - (date1)と(date2)の時間部分のみ比較する。

■時刻から一部の情報を得る関数

  • date_date_of(date)? - 指定した時刻の日数部分のみを取得する。時間部分は0になる。
  • date_time_of(date)? - 指定した時刻の時間部分のみを取得する。日数部分は0になる。

■時刻を文字列として取得する関数

  • date_datetime_string(date)? - 指定した時刻を文字列として取得する。
  • date_date_string(date)? - 指定した時刻の日数部分を文字列として取得する。
  • date_time_string(date)? - 指定した時刻の時間部分を文字列として取得する。

■時刻について調べる関数

  • date_days_in_month(date)? - 指定した時刻の月が何日あるか返す。
  • date_days_in_year(date)? - 指定した時刻の年が何日あるか返す。
  • date_leap_year(date)? - 指定した時刻の年がうるう年かどうか返す。
  • date_is_today(date)? - 指定した時刻が今日かどうか返す。

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2021-09-23 2021-09-09 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-17 2021-01-16 2021-01-15 2021-01-14 2021-01-13

人気の10件

今日の10件



これまでの訪問者: 10575
今日の訪問者: 2
昨日の訪問者: 5
閲覧者: 2