hokug使ってみる_メモ3(Blockクラス)
公開 2025/07/31 20:40
最終更新
-
hokugのBlockクラスについてメモ
x:0 //x座標
y:0 //y座標
width:0 //幅
height:0 //高さ
topImgs:[] //上向き時の画像
rightImgs:[] //右向き時の画像
bottomImgs:[] //下向き時の画像
leftImgs:[] //左向き時の画像
startTime:0 //アニメーション開始時刻
vector:hokug.Vector.Top //向いている方向(Top,Right,Bottom,Left)
startTimeはあまり気にしなくていいかも?
hokug.createBasicBlock()を使うと生成時の画像はtopImgsに入る。
ツクセカアバターのように向いている方向で画像を変えたい時は別途設定する必要がある。
例
座標(x,y)上にBlockが存在しているか判定する
例
相手のブロックにある程度重なっているか判定する
(相手の幅、高さの1/4以上重なるとtrue)
例
プロパティ #
プロパティ:初期値x:0 //x座標
y:0 //y座標
width:0 //幅
height:0 //高さ
topImgs:[] //上向き時の画像
rightImgs:[] //右向き時の画像
bottomImgs:[] //下向き時の画像
leftImgs:[] //左向き時の画像
startTime:0 //アニメーション開始時刻
vector:hokug.Vector.Top //向いている方向(Top,Right,Bottom,Left)
startTimeはあまり気にしなくていいかも?
hokug.createBasicBlock()を使うと生成時の画像はtopImgsに入る。
ツクセカアバターのように向いている方向で画像を変えたい時は別途設定する必要がある。
例
//※変数定義エリアで
let block
//中略
//※初期化エリアで
//リソース
const r = hokug.res;
//Block
block = createBasicBlock(100,100,32,32,["01.png","02.png","03.png"]);
//right,bottom,leftの画像
//画像ファイルの保存場所のhokug.res[]が必要。
block.rightImgs = [r["04.png"],r["05.png"],r["06.png"]];
block.bottomImgs = [r["07.png"],r["08.png"],r["09.png"]];
block.leftImgs = [r["10.png"],r["11.png"],r["12.png"]];
メソッド #
hitTest(x,y) #
当たり判定座標(x,y)上にBlockが存在しているか判定する
例
//touchDownエリアで
hokug.touchDown = function(x, y){
block.hitTest(x,y){
//blockタッチ時の処理
}
}
blockをボタンとしても使えると思うcrashTest(block) #
ブロック同士の当たり判定相手のブロックにある程度重なっているか判定する
(相手の幅、高さの1/4以上重なるとtrue)
例
//timerエリアで
hokug.timer = function(){
//blockA:自分 blockB:相手
if( blockA.crashTest( blockB ) ) {
//ぶつかったときの処理
}
}