hokug(ホクジー)使ってみる_3
公開 2025/07/24 14:51
最終更新 2025/07/25 23:09
前回記事
https://simblo.net/u/Nz7RmE/post/457242
前回の作ったファイルに続けて書き込んでいく感じになります。

今回はタッチ(クリック)処理です。
プレイヤーの行動が反映されるとちょっとゲーム感が出てきます。

タッチ処理 #

前回やったtimer処理の上のあたりにある
hokug.touchDown
hokug.touchMove
hokug.touchUp

を使います。

タッチした場所に文字を移動する #

変数とか他の処理は前のままにして
hokug.touchDown = function(x,y){}
に書き込んでいきます。

ここはタッチ(クリック)した瞬間に行われる処理です。
タッチとクリックの判定はhokug内で自動でやってくれています。

x,yは特殊な変数です(引数と言います、詳しくはry)
function(x,y)の部分で設定したことになっているので新たに宣言する必要はありません。
このx,yにはタッチした位置のx,y座標が入るのでそのままtextX,textYに入れます。
hokug.touchDown = function(x,y){
	textX = x;
	textY = y;
}
これだけでタップした場所に文字列が移動します。簡単です。
これをhokug.touchMoveのところに書けばドラッグすると着いてくるようになります。
hokug.touchUpのところなら離したときの座標に移動します。


文字列がはみ出す位置をタップするとブルブルすると思いますがこれは移動量に-1を掛けても反転位置の判定から外れないので毎回反転してしまうためです。

余裕があったら反転処理の前にはみ出ていたら枠内に戻す処理を入れてみてください。

ランダムで色を変える #

タップするとランダムで色も変わるようにもしてみます。
変数指定の場所に色の設定を3つくらい追加しましょう。

let textColor〜の下に追加です。
let textColor1 = new hokug.Class.Color(0,200,0,1);
let textColor2 = new hokug.Class.Color(200,0,0,1);
let textColor3 = new hokug.Class.Color(200,200,0,1);
もちろん色は好きに設定してください。

タッチ処理の部分に追記して行きます
javascriptの乱数はMath.random()というのを使います。
0〜1未満(0.999...)の小数が出ます(0は含む)。

変数に入れて分岐判定に使います。
ついでに分かりやすく整数に直します。
任意の数をかけてMath.floor()という文で小数以下を切り捨て。

Math.floor( Math.random() * 3);
これで0,1,2の3つの数がランダムで出ます。

let random = Math.floor( Math.random() * 3);
if(random == 0){
	textColor = textColor1;
} else if(random == 1){
	textColor = textColor2;
} else {
	textColor = textColor3;
}
条件判定で等値を表す場合は==です。

textColorは文字列の色を設定している変数なので別の色を入れてやれば表示色を変更できます。

関数を作ってみる #

モニスクで乱数はrand[最小値,最大値]で取得できました。
関数を使えば同じように書けるので作ってみます。
自作のコマンドみたいなものです。

ファイルの1番下にまとめときます(別に上の方でもいいですが)。
function rand(min, max) {
	return Math.floor(Math.random() * (max - min + 1)) + min;
}
「javascript 乱数 整数で」とか検索すると出てくるやつです。
そのまま使っちゃいます。

使うときはrand(最小値、最大値)で使えます、モニスクっぽくなりました。

乱数取得するところを関数に換えてみます。
let random = rand(0,2);
です、楽ちんです。

終わり #

関数を使い始めるとプログラムっぽくなって楽しい気がします。
説明あんまりしてないので詳r

タッチした場所に移動する処理を関数化してtouchDowntouchMoveに入れたりとかしてもいいかもしれません。

次で少しゲーム要素をいれてみます。
スゲーでっかいカエル
プロフィールページ
スゲーでっかいカエルです。javascriptでゲームを作ったりします。
最近の記事
モニスクレシピ_ストーリーの進行管理
ストーリーの進行管理 ストーリー進行用の変数を用意しておく # 単発のイベント(アイテムを持ってると道が通れるとか)…
2025/09/25 21:24
モニスクレシピ_定期的に復活する設置アイテム
一定時間で再取得可能になるアイテムのスクリプト 前記事の↓複数個取れるアイテムのスクリプトを流用します https://simb…
2025/09/24 08:40
モニスクレシピ_所持アイテムの消費表現
画像のように特定のアイテムを情報ボックスから消す方法 単純に[var:app_message_info アイテム名]とやってしまうと、どの…
2025/09/23 11:15
ツクセカ用モニスクレシピ
自分のマップで使ったモニスクのメモ。 もっと効率が良い方法もあると思いますので参考程度に。 間違いあったら教えてくだ…
2025/09/22 08:45
約5秒後に特定のマスのタイルを消すスクリプト(モニスク)
判定から5秒後に(0,0)(0,1)(0,2)(0,3)(0,4)のタイルを消す # 前面レイヤーを消すスクリプトになってるので任意で変更してくだ…
2025/09/10 12:39
hokug使ってみる_スプライトシートでフレームアニメーション
hokugで用意されているBlockクラスを使ってフレームアニメーションしようとすると、1コマにつき1画像ファイル使うので凝った動…
2025/08/06 22:18
hokug使ってみる_ツクセカのマップを利用する
ツクセカは2Dマップを作成して公開したりみんなで遊べたりするサービスです。 https://tsukuseka.com/ これで作ったマップ…
2025/08/04 22:26
hokug使ってみる_メモ3(Blockクラス)
hokugのBlockクラスについてメモ プロパティ # プロパティ:初期値 x:0 //x座標 y:0 //y座標 width:0 //幅 height:0 //…
2025/07/31 20:40
hokug使ってみる_メモ2(メソッド)
hokugのメソッドをメモ メソッドはオブジェクトが持ってる関数です。 今まで使ってたhokug.drawText() とかそういうやつ …
2025/07/29 23:25
hokug使ってみる_メモ(game.js)
前回までの記事まとめ 1)https://simblo.net/u/Nz7RmE/post/453297 2)https://simblo.net/u/Nz7RmE/post/457242 3)https://s…
2025/07/28 21:25
hokug(ホクジー)使ってみる_5
前回記事 https://simblo.net/u/Nz7RmE/post/463575 今回は画像を使ってみます。 ゲーム画面で画像を表示する # 画像の…
2025/07/27 18:05
hokug(ホクジー)使ってみる_4
前回記事 https://simblo.net/u/Nz7RmE/post/460515 今回はゲームっぽい要素を入れていきます。 今まで文字を動かしてい…
2025/07/26 13:25
hokug(ホクジー)使ってみる_3
前回記事 https://simblo.net/u/Nz7RmE/post/457242 前回の作ったファイルに続けて書き込んでいく感じになります。 今回は…
2025/07/24 14:51
hokug(ホクジー)使ってみる_2
前回記事 https://simblo.net/u/Nz7RmE/post/453297 前回の終わりで「次は条件分岐やループだ」と言ったがあれは嘘だ。 …
2025/07/22 18:31
hokug(ホクジー)使ってみる_1
hokug? # タイッツー開発でお馴染み「ほく」さんが開発したゲームエンジンです。 クソゲーが簡単に作れるらしいです。JavaScr…
2025/07/22 06:48
カエルマップエディタおまけの使いかた
↓基本的な使いかた https://simblo.net/u/Nz7RmE/post/363809 ↓少し高度な使いかた https://simblo.net/u/Nz7RmE/post/36904…
2025/05/22 14:39
カエルマップエディタのちょっと高度な使い方
基本的な使い方はこちら↓ https://simblo.net/u/Nz7RmE/post/363809 おまけのつかいかた↓ https://simblo.net/u/Nz7RmE/po…
2025/05/22 12:36
カエルマップエディタの簡単な使い方
なにそれ # https://sdkaeru.com/tilemap/ これです。タイルマップエディタってやつです。 ↓ちょっと高度な使いかた http…
2025/05/20 00:11
もっと見る
タグ
hokug(10)
javascript(10)
ゲーム制作(10)
MorningScript(4)
ツクセカ(4)
モニスク(4)
もっと見る