ドキュメント / 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の小数部。つまり小数点より後ろの部分。
  • sqrt(x) - xの平方根を返す(xは負であってはならない)
  • sqr(x) - x2
  • power(x,n) - xn
  • exp(x) - ex

■対数関数

  • ln(x) - logex (自然対数)
  • log2(x) - log2x
  • log10(x) - log10x (常用対数)
  • logn(n,x) - lognx

■三角関数

  • 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を除く)
  • degtorad(x) - 度をラジアンに変換
  • radtodeg(x) - ラジアンを度に変換

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

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

■距離・角度の算出

  • point_distance(x1,y1,x2,y2) - 点(x1,y1)から点(x2,y2)までの距離を返す。
  • point_direction(x1,y1,x2,y2) - 点(x1,y1)から点(x2,y2)への方向を度で返す。

■ベクトル

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

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

  • is_real(x) - xが実数ならtrue
  • is_string(x) - xが文字列ならtrue

▼文字列を扱う関数

  • 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_format(val,total,decimal) - totalの全桁数およびdecimalで指定された小数部桁数でvalを文字列に変換します。
  • string_length(str) - strの文字数を返します。
  • string_pos(substr,str) - str内におけるsubstrの先頭位置を返します(不一致の場合は0を返します)。
  • string_copy(str,index,count) - countの長さで、indexを先頭とする文字列をstrから抽出します。
  • string_char_at(str,index) - str内のindexの位置にある文字を返します。
  • string_delete(str,index,count) - countの長さで、indexを先頭とする文字列をstrから除いた文字列を返します。
  • string_insert(substr,str,index) - substrの文字列をindexの位置に挿入したstrのコピーを返します。
  • string_replace(str,substr,newstr) - str内の最初のsubstrをnewstrに置き換えたstrのコピーを返します。
  • string_replace_all(str,substr,newstr) - str内のすべてのsubstrをnewstrに置き換えたstrのコピーを返します。
  • string_count(substr,str) - str内でのsubstrの発生数を返します。
  • string_lower(str) - 小文字(abc...)に変換したstrのコピーを返します。
  • string_upper(str) - 大文字(ABC...)に変換したstrのコピーを返します。
  • string_repeat(str,count) - countで指定した数だけstrを含む文字列を返します。
  • string_letters(str) - strに入っている文字のみで構成される文字列を返します。
  • string_digits(str) - strに入っている数字のみで構成される文字列を返します。
  • string_lettersdigits(str) - strに入っている文字および数字のみで構成される文字列を返します。

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

  • clipboard_has_text() - クリップボードにテキストがあるか否かをを返します。
  • clipboard_get_text() - クリップボードにあるテキストを返します。
  • clipboard_set_text(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件

2017-05-13 2016-10-01 2017-01-22 2017-01-14 2016-12-25 2016-12-02 2016-10-09 2016-09-25 2016-09-21 2016-08-29 2016-06-21 2016-02-23 2016-02-10 2016-01-18 2015-10-30 2015-10-20 2015-06-23 2015-06-20 2015-06-19 2015-06-10 2015-06-09 2015-06-07 2015-06-05 2015-06-03

人気の10件

今日の10件



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