Skip to content

Arare 物体仕様

Kimio Kuramitsu edited this page May 7, 2019 · 3 revisions

Arare 物体仕様

本ドキュメントは、ArareCode の bodies に列挙される物体プロパティの仕様をまとめたメモである。

window.ArareCode = {
  bodies: [ // 世界にある物体の定義
    {
      'shape': "circle",  
      'concept': ['ボール', '円'],
      'name': 'ボール',
      'width': 100, 'height': 50,
      'position': { 'x': 500, 'y': 500 },
      'angle': 0.2 * Math.PI,
      'render': {     // 描画に関するパラメータ
        'fillStyle': 'rgba(11,11,11,0.1)',
        'strokeStyle': 'blue',
        'lineWidth': 10
      },
      'value': "さかね",
      'isSensor': false,
    },...
  ]
}

言語プロパティ

Arare 言語側から参照するためのプロパティ Arare 言語では、物体は変数から参照できる値となる。

concept 物体のグループ的な名称

  • 例. 'concept': ['ボール', '円']

name 変数名

  • 例. 'name': 'ボール'
  • arare.vars['ボール'] で物体にアクセス可能になる

value 値

  • 変数の値に相当する

Matter.js の物理量

shape 物体の描画される形状

  • "circle"
  • "rectangle" 直方体
  • "polygon" 多角形

position 物体の位置

  • 'position': { 'x': 500, 'y': 500 }
  • 省略すると、表示されない

width 横幅

  • 'width': 100
  • 省略すると、50

height 高さ

  • 'height': 100
  • 形状(shape)によっては無視される
  • 省略すると、width と同じになる

angle 角度

TODO

isStatic 静止物体

  • 静止物体のときは、'isStatic': true

isSensor センサー

  • センサーのときは、'isSensor': true

描画に関するプロパティ

次のようにrender プロパティの中に書く

'render': {
        'fillStyle': 'rgba(11,11,11,0.1)',
        'strokeStyle': 'blue',
        'lineWidth': 10,
        'sprite': {
            'texture': './img/box.png'
        }
}

fillStyle 塗りつぶし色

strokeStyle 線色

lineWidth 線幅

sprite 画像

  • texture: 画像を指定する

動作に関するプロパティ

move 動作の指定

  • 'swing' 左右に動く
    • 'swing-width' 動く幅
  • 'updown' 上下に動く
    • 'updown-height' 動く高さ