!MCE2リファレンス
魔法陣で遊ぶにはこちら→ http://inajob.no-ip.org:10080/mce2/mce2.html

!!ちゅーとりある
!!!MCEで基本図形を書いてみよう
>> mce4
circle()
<<

>>
circle()
<<
!
>> mce4
rect()
<<
>>
rect()
<<
!
>> mce4
circle()
rect()
<<
>>
circle()
rect()
<<
!
>> mce4
poly(5,2)
<<
>>
poly(5,2)
<<
!
!!!座標変換
0.5のところを変えてみよう
インデントでscaleの範囲を限定できることを確認しよう
>> mce4
scale(0.5)
 rect()
 circle()
rect()
<<
>>
scale(0.5)
 rect()
 circle()
rect()
<<
!
回転もできるよ
>> mce4
rotate(1/8)
 rect()
 circle()
rect()
<<
>>
rotate(1/8)
 rect()
 circle()
rect()
<<
!
組み合わせも可能
>> mce4
rotate(1/8)
 scale(0.1)
  rect()
  circle()
rect()
<<
>>
rotate(1/8)
 scale(0.1)
  rect()
  circle()
rect()
<<


!構文
!!代入
>>
!a = 1
<<
 !に続けて代入を記述します

!組み込み変数
!!t
時間で増加する変数。アニメーションに利用できる
!!mx,my
マウスのx,y座標に対応。中央が(0,0)

!組み込み関数
!!if
>>
!test = 1
if(test)
 rect()
<<
条件が真の場合子ブロックを実行します
!!blockif
>>
!test = 1
blockif(test)
 block()
  rect()
 block()
  circle
<<
elseが使いたい場合はこちら
始めの子ブロックthen、次の子ブロックがelse

!!not
論理反転
>>
!test = 1
!nottest = not(test)
<<
!!loop

>> mce4
!a = 0
loop(10)
 !a = a + 1
 shift(0.1 * a, 0.1 * a)
  rect()
<<

>>
!a = 0
loop(10)
 !a = a + 1
 shift(0.1 * a, 0.1 * a)
  rect()
<<
指定回数子ブロックを繰り返す

!!getExternalVar
ユーザ入力変数の設定、取得

getExternalVar(説明文字,初期値)

>>
!str = getExternalVar("文字を入力してください", "てすともじ")
<<

!!addDescription
説明文字追加

addDescription(文字種類,文字)
>>
addDescription("h1","単純な魔法陣")
addDescription("","土台となる簡単な魔法陣です")
<<
!!!文字種類
|""|通常文字
|"h1"|見出し文字

!!block
ブロックのとりまとめと変数宣言
>>
block("test", "fuga")
 !test = 0
 !fuga = 0
<<

!!rand
乱数の生成 0~1の乱数を生成

>>
!r = rand()
<<

!!stringLength
文字列の長さ
>>
!c = stringLength("test")
<<

!!stringCharAt
指定位置の文字を取り出す
>>
!c = stringCharAt("test",1)
<<

!!dateGetFullYear
>>
!year = dateGetFullYear()
<<

!!dateGetYear
!!dateGetMonth
!!dateGetDay
!!dateGetHours
!!dateGetMinutes
!!dateGetSeconds

!!arrayInit
配列生成
>>
!ar = arrayInit()
<<
!!arraySet
>>
arraySet(ar, 1, "value")
<<

!!arrayGet
>>
!v = arrayGet(ar, 1)
<<
!!arrayCount
>>
!c = arrayCount(ar)
<<

!!arrayPop
>>
!v = arrayPop(ar)
<<
!!arrayPush
>>
arrayPush(ar, "test")
<<

!!eval
あとでかく
!!write
あとでかく
!!evalAllExtArgs
あとでかく
!!evalExtArg
あとでかく
!!extArgsLength
あとでかく

!準組み込み関数
!!sqrt
平方根
!!sin
sin 0~1で一周
!!cos
cos 0~1で一周
!!tan
tan 0~1で一周
!!atan2
atan2(y,x)
0~1で1周
!!floor
切り捨て
!!save
あとで書く
!!lw
線の太さ
>> mce4
lw(5)
 rect()
shift(0.2,0.2)
 lw(10)
  rect()
<<
>>
lw(5)
 rect()
shift(0.2,0.2)
 lw(10)
  rect()
<<
!!blur
ブラーの大きさ設定 bsと一緒に設定
!!bs
ブラーの色
>> mce4
bs("red")
 blur(10)
  rect()
<<
>>
bs("red")
 blur(10)
  rect()
<<
!!fs
塗り


!!ss
線の色
!!col
塗りと線の色設定
>> mce4
col("blue")
 rect()
<<

>>
col("blue")
 rect()
<<
!!ssfs
塗りと線の色をそれぞれ設定
>> mce4
ssfs("blue","red")
 rect()
<<

>>
ssfs("blue","red")
 rect()
<<
!!cs
グラデーションの色を設定 rgrad、lgradの子要素として設定
cs(位置,色)
|位置|0~1
|色|色を指定

!!rgrad
円形グラデーション生成fsgrad,ssgradで指定
rgrad(x,y,r)

!!lgrad
線形グラデーション生成fsgrad,ssgradで指定
lgrad(x1,y,1,x2,y2)

!!fsgrad
塗りのグラデーション指定
>> mce4
scale(0.5)
 fsgrad()
  lgrad(-1,-1,1,1)
   cs(0,"red")
   cs(0.5,"white")
   cs(1,"blue")
  scale(2)
   rect()
<<
>>
scale(0.5)
 fsgrad()
  lgrad(-1,-1,1,1)
   cs(0,"red")
   cs(0.5,"white")
   cs(1,"blue")
  scale(2)
   rect()
<<
第一子ブロックでグラデーションを指定
第二子ブロック以降は指定したグラデーションで塗ります

!!ssgrad
線のグラデーション指定

!!skew
せん断
>> mce4
skew(0.1,0)
 rect()
<<
>>
skew(0.1,0)
 rect()
<<

!!rotate
回転
>> mce4
rotate(0.2)
 rect()
<<
>>
rotate(0.2)
 rect()
<<

!!scale
拡大縮小
1引数でも2引数でもOK
>> mce4
scale(0.2)
 rect()
scale(0.5,0.1)
 rect()
<<
>>
scale(0.2)
 rect()
scale(0.5,0.1)
 rect()
<<

!!shift
移動
>> mce4
shift(0,0)
 rect()
shift(0.1,0.1)
 rect()
<<
>>
shift(0,0)
 rect()
shift(0.1,0.1)
 rect()
<<

!!fig
あとでかく
!!blockClip
第一子ブロックの図形で第二子ブロックの描画をクリップする
(なんかちょうしがわるいことがある、そういう時はリロード)
>> mce4
fs("black")
 blockClip()
  circle()
  shift(0.1,0.1)
   rect()
<<

>>
fs("black")
 blockClip()
  circle()
  shift(0.1,0.1)
   rect()
<<

!!autoFig
あとでかく
!!rect
四角
!!rrect
逆四角(見た目は同じ)
!!circle
円
!!rcircle
逆縁(見た目は同じ)

通常図形と逆図形がfigの中で重なった場合、くり抜かれます
>> mce4
fs("red")
 fig()
  rect()
  shift(0.1,0.1)
   rcircle()
<<
>>
fs("red")
 fig()
  rect()
  shift(0.1,0.1)
   rcircle()
<<

!!xy0
figの中で使用。ペン移動
!!xy
figの中で使用。線を引く

>> mce4
fig(0)
 xy0(0,0)
 xy(0,0.1)
 xy(0.1,0)
 xy(0.1,0.1)
<<
>>
fig(0)
 xy0(0,0)
 xy(0,0.1)
 xy(0.1,0)
 xy(0.1,0.1)
<<

!!grid
grid(x,y)
グリッド上に移動しつつ繰り返します

>> mce4
scale(0.1)
 grid(10,10)
  rect()
<<
>>
scale(0.1)
 grid(10,10)
  rect()
<<

!!flower
回転しつつ繰り返します
>> mce4
scale(0.1)
 flower(10)
  shift(0,3)
   rect()
<<
>>
scale(0.1)
 flower(10)
  shift(0,3)
   rect()
<<

!!text
文字を描画します、塗り、線両方
>> mce4
scale(0.1)
 fs("black")
  text("てすと")
<<
>>
scale(0.1)
 fs("black")
  text("てすと")
<<
!!fillText
文字を塗ります
!!strokeText
文字の輪郭を描画します
!!rgb
色文字列を生成します
>> mce4
col(rgb(255,0,0))
 rect()
<<
>>
col(rgb(255,0,0))
 rect()
<<
!!rgba
アルファ付き色文字列を生成します
>> mce4
col(rgba(255,0,0,0.2))
 rect()
<<
>>
col(rgba(255,0,0,0.2))
 rect()
<<
!!poly
多角形
poly(n,s)
|n|頂点数
|s|s個となりの頂点を結ぶ

>> mce4
poly(5,1)
<<
>>
poly(5,1)
<<
!
>> mce4
poly(5,2)
<<
>>
poly(5,2)
<<

!!apoly
角丸多角形
|n|頂点数
|s|角丸具合
>> mce4
apoly(3,0.5)
<<
>>
apoly(3,0.5)
<<

!!font
フォント指定
>>
scale(0.1)
 fs("black")
  font("TanukiMagic")
   text("たぬき")
<<

!!!利用可能なフォント
英字フォントはGoogleFontsのフォント名がそのまま使えます
http://www.google.com/fonts

日本語フォントは随時サポートします。
現在使用可能なものはこちら

>> quote
['TanukiMagic', 'DejimaMincho', 'Hakidame','Mikachan','JiyunoTsubasa','AoyagiReisyoSimo', 'UmeGothic', 'HanazonoMincho','IPAMincho', 'IPAGothic', 'RoundM+'];
<<
5643382
wiki
1382872092