Matter.js に入門してみる – Matter.Common クラス

Matter.Common Class はユーティリティ関数をまとめたもの。メソッドは以下のものがある。

正確な情報は公式ドキュメント Matter.Common を参照してください。

choose 配列からランダムに要素を選択
clamp value を min max の間に制限
clone オブジェクトをコピー
colorToNumber 16進数をを整数に変換
extend オブジェクトを拡張
isElement HTML 要素か判定
keys オブジェクトのキーを取得
values オブジェクトの値を取得
log console.log
nextId ユニークなIDを返す
now タイムスタンプを取得
random min から max までのランダムな数を返す
shadeColor color を percent 分明るく(暗く)する
shuffle 配列をシャッフル
sign 正の数であれば 1 負の数であれば -1 を返す

Matter.Common.choose

配列からランダムに要素を選択

var colors = ['#556270', '#4ECDC4', '#C7F464', '#FF6B6B', '#C44D58'];
var choose = Common.choose(colors);
console.log('colors: ', choose);
-> choose: #C44D58

Matter.Common.clamp

value を min max の間に制限

var clamp = Common.clamp(200, 0, 100);//value, min, max
console.log('clamp: ', clamp);
-> clamp: 100

Matter.Common.clone

オブジェクトをコピー

var obj = { name: 'taro' };
var clone = Common.clone(obj, true);//value obj, deep
console.log('clone: ', clone, 'obj === clone:', obj === clone);
-> clone: Object {name: "taro"}
-> obj === clone: false

Matter.Common.colorToNumber

16進数をを整数に変換

var colorToNumber = Common.colorToNumber('#FFFFFF');
console.log('colorToNumber: ', colorToNumber);
-> colorToNumber: 16777215

Matter.Common.extend

オブジェクトを拡張

var org = { name: 'taro' };
var extend = Common.extend({ 'gender': 'men' }, org);
console.log('extend: ', extend);
-> extend: Object {gender: "men", name: "taro"}

Matter.Common.isElement

HTML 要素か判定

var element = Common.isElement(document.querySelector('div'));
console.log('element: ', element);
-> element: true

Matter.Common.keys

オブジェクトのキーを取得

var myobj = { name: 'taro', 'gender': 'men' };
var keys = Common.keys(myobj);
console.log('keys: ', keys);
-> keys: ["name", "gender"]

Matter.Common.values

オブジェクトの値を取得

var values = Common.values(myobj);
console.log('values: ', values);
-> values: ["taro", "men"]

Matter.Common.log

console.log

Common.log('message', 'type');
-> [Matter] type: message

Matter.Common.nextId

ユニークなIDを返す

var rect = Bodies.rectangle(100, 200, 80, 80);
var circle = Bodies.circle(200, 50, 30, 80);
var next = Common.nextId(rect.id);
console.log('rect.id: ', rect.id, 'circle.id: ', circle.id, 'next: ', next);
-> rect.id: 0 circle.id: 1 next: 2

Matter.Common.now

タイムスタンプを取得

var now = Common.now();
console.log('now: ', now);
-> now: 546.09

Matter.Common.random

min から max までのランダムな数を返す

var random = Common.random(0, 100);//min, max
console.log('random: ', random);
-> random: 5.2946239011362195

Matter.Common.shadeColor

color を percent 分明るく(暗く)する

var shadeColor = Common.shadeColor('#FF0000', -50);//color, percent
console.log('shadeColor: ', shadeColor);
-> shadeColor: #800000

Matter.Common.shuffle

配列をシャッフル

var shuffle = Common.shuffle(['#556270', '#4ECDC4', '#C7F464', '#FF6B6B', '#C44D58']);
console.log('shuffle: ', shuffle);
-> shuffle: ["#556270", "#C44D58", "#FF6B6B", "#4ECDC4", "#C7F464"]

Matter.Common.sign

正の数であれば 1 負の数であれば -1 を返す

var sign = Common.sign(-100);
console.log('sign: ', sign);
-> sign: -1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください