oc2016api
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[oc2019]]
このページでは、当日資料では紹介していない命令・変数など...
*プログラムの構成 [#a96da06a]
-プログラムはJavaScript(EcmaScript6)で記述します。
-ゲームに登場するキャラクタの種類ごとに「クラス」を定義し...
--ゲーム全体の流れを制御するものも、クラスで定義します(T...
-それぞれのクラスには「親クラス」を指定します。
--親クラスには、通常のActorを指定します。
--親クラスの機能をそのまま使うことができます。
//クラス定義
class クラス名 extends 親クラス名 {
*main() {
//動作
}
}
//(クラス定義は複数可能)
setMain(最初に実行するクラス名);
*クラス Actor [#ad4ee3bd]
**フィールド(変数) [#b74be1e5]
フィールドは、それぞれのクラスの中でthis.xxx というように、
頭にthis. を付けて使います.
例:
class Start extends Actor {
*main() {
new Player();
}
}
class Player extends Actor {
*main() {
// (100,200)の場所に,2倍に拡大して表示
this.x=100;
this.y=200;
this.p=$pat_neko+0;
this.scaleX=2;
}
}
setMain(Start);
また,オブジェクトを最初に作るときには{ }内に「名前:値...
class Start extends Actor {
*main() {
// (50,250)の場所に,3倍に拡大して表示
new Player({x:50, y: 250, p:$pat_neko+10, scaleX:3});
// (200,200)の場所に"OC"を黄色で表示
new Title({x:200,y:200,text:"OC", fillStyle:"yellow...
}
}
class Player extends Actor {
*main() {
}
}
class Title extends Actor {
*main() {
}
}
setMain(Start);
-x : オブジェクトのx座標をあらわします
-y : オブジェクトのy座標をあらわします
-p : 表示する画像の番号をあらわします。
-zOrder : オブジェクト同士が重なった場合、この値が小さい...
-alpha : 表示する画像の透明度を指定します(255-0)。
-scaleX : オブジェクトの横方向の拡大率を指定します.scale...
-scaleY : オブジェクトの縦方向の拡大率を指定します
-rotation : オブジェクトの回転を指定します.右回りで指定...
-text : textに値がセットされると,文字を表示します(キャ...
-size : 文字の大きさをあらわします
-fillStyle : 文字の色などをあらわします(JavascriptのCanva...
-align: "center" "left" "right"のいずれかを指定します.x...
**メソッド(命令) [#id28b3c3]
:yield| yield; を実行するとその時点でそのオブジェクトの動...
以下の命令は、それぞれのクラスの中でthis.xxxx( ) のように...
( )の中には引数を指定する場合があります。
:getkey(n)|nで指定した名前のキーが押されていなければ0を、...
押された瞬間は1が返され、それ以上押し続けていると1より大...
:die() |オブジェクトを消滅させます
:isDead() | オブジェクトが消滅しているかどうかを判定します
:crashTo(obj) | 指定されたオブジェクトobjと衝突しているか...
衝突していればtrue、していなければfalseを返します
:crashTo(Class)|指定されたクラスClassのオブジェクトのうち...
衝突していれば衝突したオブジェクトのうちどれかを返し、衝...
:allCrash(Class)|指定されたクラスClassのオブジェクトのう...
:all(Class)|指定されたクラスClassのオブジェクトをすべて配...
//getCrashRect
:within(obj,d)|このオブジェクトとobjとの距離がd以下であれ...
:crashTo(Class,d)|このオブジェクトがClassで指定されるクラ...
:allWithin(Class,d)|Classで指定されたクラスのオブジェクト...
//hide
//show
//draw
:print(msg)|画面に文字を表示します。デバッグ用です
:color(r,g,b)|指定したRGB値に対応する色を表す文字列を返し...
:loadPage(Class)|指定したクラスで新しいページ(場面)を作...
:screenOut()|このオブジェクトが画面外に出ている場合、はみ...
:rnd()|0から1までの実数乱数を返します
:rnd(n)|0以上n未満の整数乱数を返します
:sin(d), cos(d)|角度d(度数法)の正弦,余弦を返します
:rad(d)|角度d(度数法)をラジアンに変換します
:deg(r)|角度r(ラジアン)を度数法に変換します
:atan2(y,x)|線分(0,0)-(x,y)とx軸のなす角を度数法で返します
※yが先,xが後です.
:atanxy(x,y)| 線分(0,0)-(x,y)とx軸のなす角を度数法で返し...
※xが先,yが後です.
:abs(v)|絶対値 |v| を返します
:sqrt(t)| 平方根 √t を返します
:dist(dx,dy)| 線分(0,0)-(dx,dy)の長さを返します
:dist(obj)|オブジェクト obj とこのオブジェクト間の距離を...
:angleDiff(a,b)|角度a-b と同じ向きを持つ、-180 から 179 ...
:floor(x)| xを超えない最大の整数を返します
:ceil(f)| f以上の最小の整数を返します.
:trunc(f)| fの小数点を除いた値を返します.
fが正の値の場合、floorと同じ値を返し、fが負の値の場合、ce...
:clamp(v,a,b)| vの値がa~bの範囲内に収まっていればv自身を...
vの値がa~bの範囲をはみ出していれば、aまたはbのうちvに近...
a<=b、a>=b いずれでも可
:clamped(v,a,b)| clamp(v,a,b)-v と等価です。(はみ出した...
*グローバル変数 [#m72352ab]
グローバル変数は、すべてのクラスから読み書きすることがで...
//-[[$Boot>Boot]]
:$mouseX, $mouseY|マウスカーソルの座標(横の位置と縦の位...
:$touches[n].x, $touches[n].y | n番目の指のタッチされて...
:$touches[n].touched | n番目の指がタッチされていれば1以...
:$screenWidth,$screenHeight|画面の幅と高さ
:$Screen.resize(w,h)|画面の幅と高さを変更します
*グローバル変数を自分で定義する [#c2476330]
グローバル変数を自分で定義するときは、
window.$score=0;
のように、頭にwindow.をつけてください。
一度定義したグローバル変数は
$name
のようにwindow.をつけなくても使えるようになります
*クラス BodyActor [#rdb2746c]
(このクラスは2019年のオープンキャンパスでは紹介していま...
物理運動するオブジェクトはこのクラスを継承してください。
**フィールド(変数) [#f7590850]
Actorのフィールドの他に、次のフィールドはそれぞれ特別な意...
-density
--物体の密度(重さ/大きさ)
-friction
--物体の摩擦係数
-restitution
--物体の反発係数
-shape
--物体の衝突判定を円にするには"circle"を、長方形にするに...
-width、height
--物体の衝突判定の幅と高さ(ピクセル数)を指定します。
--これらが指定されていると自動的に衝突判定の形状は長方形...
-radius
--物体の衝突判定の半径(ピクセル数)を指定します。
--これが指定されていると自動的に衝突判定の形状は円になり...
-vx,vy
--横方向、縦方向の速度(1フレームあたり・ピクセル数)を指...
--代入することで速度を変更できます
-vrotation
--1フレームあたりの回転速度を表します
--代入することで回転速度を変更できます
-manualRotation
--これをtrueに設定すると、物体が回転してもオブジェクトの...
※ width,height,radiusがいずれも指定されていない場合、フィ...
**メソッド(命令) [#f284bc03]
:contactTo(obj)|指定したオブジェクトにぶつかっていればtru...
:contactTo(Class)|指定したクラスのオブジェクトのうちどれ...
//=クラス Button
終了行:
[[oc2019]]
このページでは、当日資料では紹介していない命令・変数など...
*プログラムの構成 [#a96da06a]
-プログラムはJavaScript(EcmaScript6)で記述します。
-ゲームに登場するキャラクタの種類ごとに「クラス」を定義し...
--ゲーム全体の流れを制御するものも、クラスで定義します(T...
-それぞれのクラスには「親クラス」を指定します。
--親クラスには、通常のActorを指定します。
--親クラスの機能をそのまま使うことができます。
//クラス定義
class クラス名 extends 親クラス名 {
*main() {
//動作
}
}
//(クラス定義は複数可能)
setMain(最初に実行するクラス名);
*クラス Actor [#ad4ee3bd]
**フィールド(変数) [#b74be1e5]
フィールドは、それぞれのクラスの中でthis.xxx というように、
頭にthis. を付けて使います.
例:
class Start extends Actor {
*main() {
new Player();
}
}
class Player extends Actor {
*main() {
// (100,200)の場所に,2倍に拡大して表示
this.x=100;
this.y=200;
this.p=$pat_neko+0;
this.scaleX=2;
}
}
setMain(Start);
また,オブジェクトを最初に作るときには{ }内に「名前:値...
class Start extends Actor {
*main() {
// (50,250)の場所に,3倍に拡大して表示
new Player({x:50, y: 250, p:$pat_neko+10, scaleX:3});
// (200,200)の場所に"OC"を黄色で表示
new Title({x:200,y:200,text:"OC", fillStyle:"yellow...
}
}
class Player extends Actor {
*main() {
}
}
class Title extends Actor {
*main() {
}
}
setMain(Start);
-x : オブジェクトのx座標をあらわします
-y : オブジェクトのy座標をあらわします
-p : 表示する画像の番号をあらわします。
-zOrder : オブジェクト同士が重なった場合、この値が小さい...
-alpha : 表示する画像の透明度を指定します(255-0)。
-scaleX : オブジェクトの横方向の拡大率を指定します.scale...
-scaleY : オブジェクトの縦方向の拡大率を指定します
-rotation : オブジェクトの回転を指定します.右回りで指定...
-text : textに値がセットされると,文字を表示します(キャ...
-size : 文字の大きさをあらわします
-fillStyle : 文字の色などをあらわします(JavascriptのCanva...
-align: "center" "left" "right"のいずれかを指定します.x...
**メソッド(命令) [#id28b3c3]
:yield| yield; を実行するとその時点でそのオブジェクトの動...
以下の命令は、それぞれのクラスの中でthis.xxxx( ) のように...
( )の中には引数を指定する場合があります。
:getkey(n)|nで指定した名前のキーが押されていなければ0を、...
押された瞬間は1が返され、それ以上押し続けていると1より大...
:die() |オブジェクトを消滅させます
:isDead() | オブジェクトが消滅しているかどうかを判定します
:crashTo(obj) | 指定されたオブジェクトobjと衝突しているか...
衝突していればtrue、していなければfalseを返します
:crashTo(Class)|指定されたクラスClassのオブジェクトのうち...
衝突していれば衝突したオブジェクトのうちどれかを返し、衝...
:allCrash(Class)|指定されたクラスClassのオブジェクトのう...
:all(Class)|指定されたクラスClassのオブジェクトをすべて配...
//getCrashRect
:within(obj,d)|このオブジェクトとobjとの距離がd以下であれ...
:crashTo(Class,d)|このオブジェクトがClassで指定されるクラ...
:allWithin(Class,d)|Classで指定されたクラスのオブジェクト...
//hide
//show
//draw
:print(msg)|画面に文字を表示します。デバッグ用です
:color(r,g,b)|指定したRGB値に対応する色を表す文字列を返し...
:loadPage(Class)|指定したクラスで新しいページ(場面)を作...
:screenOut()|このオブジェクトが画面外に出ている場合、はみ...
:rnd()|0から1までの実数乱数を返します
:rnd(n)|0以上n未満の整数乱数を返します
:sin(d), cos(d)|角度d(度数法)の正弦,余弦を返します
:rad(d)|角度d(度数法)をラジアンに変換します
:deg(r)|角度r(ラジアン)を度数法に変換します
:atan2(y,x)|線分(0,0)-(x,y)とx軸のなす角を度数法で返します
※yが先,xが後です.
:atanxy(x,y)| 線分(0,0)-(x,y)とx軸のなす角を度数法で返し...
※xが先,yが後です.
:abs(v)|絶対値 |v| を返します
:sqrt(t)| 平方根 √t を返します
:dist(dx,dy)| 線分(0,0)-(dx,dy)の長さを返します
:dist(obj)|オブジェクト obj とこのオブジェクト間の距離を...
:angleDiff(a,b)|角度a-b と同じ向きを持つ、-180 から 179 ...
:floor(x)| xを超えない最大の整数を返します
:ceil(f)| f以上の最小の整数を返します.
:trunc(f)| fの小数点を除いた値を返します.
fが正の値の場合、floorと同じ値を返し、fが負の値の場合、ce...
:clamp(v,a,b)| vの値がa~bの範囲内に収まっていればv自身を...
vの値がa~bの範囲をはみ出していれば、aまたはbのうちvに近...
a<=b、a>=b いずれでも可
:clamped(v,a,b)| clamp(v,a,b)-v と等価です。(はみ出した...
*グローバル変数 [#m72352ab]
グローバル変数は、すべてのクラスから読み書きすることがで...
//-[[$Boot>Boot]]
:$mouseX, $mouseY|マウスカーソルの座標(横の位置と縦の位...
:$touches[n].x, $touches[n].y | n番目の指のタッチされて...
:$touches[n].touched | n番目の指がタッチされていれば1以...
:$screenWidth,$screenHeight|画面の幅と高さ
:$Screen.resize(w,h)|画面の幅と高さを変更します
*グローバル変数を自分で定義する [#c2476330]
グローバル変数を自分で定義するときは、
window.$score=0;
のように、頭にwindow.をつけてください。
一度定義したグローバル変数は
$name
のようにwindow.をつけなくても使えるようになります
*クラス BodyActor [#rdb2746c]
(このクラスは2019年のオープンキャンパスでは紹介していま...
物理運動するオブジェクトはこのクラスを継承してください。
**フィールド(変数) [#f7590850]
Actorのフィールドの他に、次のフィールドはそれぞれ特別な意...
-density
--物体の密度(重さ/大きさ)
-friction
--物体の摩擦係数
-restitution
--物体の反発係数
-shape
--物体の衝突判定を円にするには"circle"を、長方形にするに...
-width、height
--物体の衝突判定の幅と高さ(ピクセル数)を指定します。
--これらが指定されていると自動的に衝突判定の形状は長方形...
-radius
--物体の衝突判定の半径(ピクセル数)を指定します。
--これが指定されていると自動的に衝突判定の形状は円になり...
-vx,vy
--横方向、縦方向の速度(1フレームあたり・ピクセル数)を指...
--代入することで速度を変更できます
-vrotation
--1フレームあたりの回転速度を表します
--代入することで回転速度を変更できます
-manualRotation
--これをtrueに設定すると、物体が回転してもオブジェクトの...
※ width,height,radiusがいずれも指定されていない場合、フィ...
**メソッド(命令) [#f284bc03]
:contactTo(obj)|指定したオブジェクトにぶつかっていればtru...
:contactTo(Class)|指定したクラスのオブジェクトのうちどれ...
//=クラス Button
ページ名: