アクション候補羅列

まぁ、こんなかんじよなあ。
ほむー。

1. 基本発射体(Core projectile)

  • 直進弾
  • 貫通弾
  • 爆発弾
  • レーザー/ビーム
  • 設置型(地雷・トラップ)
    (ここは「核」なので種類は少なめでもOK)

2. 挙動 Modifier

基本の弾に「上書き」や「追加」を行うモジュール。

Trajectory系

  • Homing(ターゲット追尾)
  • Wave(うねうね)
  • Spiral(螺旋)
  • Boomerang(戻る)
  • RandomJitter(揺れ)

Spawn系

  • Split(分裂)
  • Cluster(小弾散布)
  • Chain(連鎖ヒット)
  • Afterimage(残像)

Collision系

  • Bounce(跳弾)
  • Pierce(貫通)
  • Stick(対象に張り付く)

Timing系

  • Accelerate(加速)
  • Decelerate(減速)
  • LifeTimeExplosion(寿命で爆発)

Godot 4系でコントロールノード内のノードにフォーカスがあっているかどうかの判定

# 現在フォーカスを持っているコントロールを取得する
var focused_control = get_viewport().get_focus_owner()

# focused_controlが取得できていて、それがmenu自身か、menuの子孫であるかを確認する
if focused_control and ($menu == focused_control or $menu.is_ancestor_of(focused_control)):
	print("menuか、その子要素がフォーカスを持っています")

https://docs.godotengine.org/ja/4.x/classes/class_node.html#class-node-method-is-ancestor-of

SceneTree.get_focus_owner()は4系では使えない。

「.is_ancestor_of()が重要になる。」

あとはpint()でシングルなものだけでなくノードの構造を.print_tree()で出力できる。

「.find_next_valid_focus()」
要素内での最初にフォーカスできるコントロールを探す

Xmlのあれ

<![CDATA[地域の皆さまをお待ちしております。]]>

いっつもわすれる。

正しいか検証中「MySQL 8.0」

phpMyAdminも関係があるのかもしれないけどMySQL 8.0で通常のままエクスポートするとINDEXがない状態のSQLが生成されるので
エクスポート方法を
・簡易 – 最小限のオプションだけ表示
・詳細 – 可能なオプションをすべて表示

「詳細」にして設定していく必要がある。
以下はちゃんとインポートしたときにINDEXが作成されていたエクスポートの設定。
これが100%正しいかはわからない。

Voltaでちょっとつまづいた。

新しくプロジェクトの設定をしている時に少々あったのでメモ。

Voltaで管理していたけどちゃんと設定をしていなかったのでエラーが出た。
(違うプロジェクトでは設定していたが、その設定のことを忘れていた。

note: node is shadowed by another binary of the same name at /usr/local/bin/node. To ensure your commands work as expected, please move /Users/ユーザー名/.volta/bin to the start of your PATH.

このメッセージは、nodeコマンドが複数の場所に存在し、その中で/usr/local/bin/nodeにある古いバージョンのNode.jsが優先されていることを警告しています。VoltaというツールがNode.jsのバージョン管理を行っているため、/Users/ユーザー名/.volta/binにインストールされているNode.jsを優先的に使うべきだと提案しています。

PATH環境変数に/Users/ユーザー名/.volta/binを優先的に配置することで、Voltaが管理しているNode.jsを常に使うように設定できます。

nano ~/.zshrc   # zshの場合
nano ~/.bashrc  # bashの場合

設定ファイルの末尾に、次の行を追加して/Users/ユーザー名/.volta/binをPATHの先頭に設定

export PATH="/Users/ユーザー名/.volta/bin:$PATH"

NANOが開くのでファイルに保存して閉じる
・該当の箇所にカーソル移動
・記述
・Ctrl+O を押して保存
・エンター
・Ctrl+X を押してエディタを閉じ

設定を反映(コマンドを打たないといけないよ

source ~/.zshrc   # zshの場合
source ~/.bashrc  # bashの場合

んで確認

node -v
npm -v

よく忘れるCSSのカウンター

[css]
counter-reset: count;
counter-increment: count;
&:before{
content:”0″counter(count)”.”;
}
[/scc]

めもめも

01とか02にする場合(ゼロパディング)は(count, decimal-leading-zero)って具合にする

AIテキストエディタ Cursorを使ってみよう!

ということでぱーっとインストールして設定して
ぽちっとAIウィンドを起動して入力してエンター。

なんか出てきた。

そして、結果がこれ。

すごい、ちゃんとゲームとして稼働できている。
まぁ、ひっくり返すのはクリックしないといけないとか自動ではできない部分もあるけどこれはすごいやー。

一番使いたかったNEW AI Projectが使えなくなってるのがちょっと悲しいが、
コピペでチャットGPTに貼り付けるって作業をしなくてもファイルを指定して操作させるということができるみたいだし
使い方を理解していけば効率よく作業はできそうかな?

美味しそうと思ったレシピのメモ

ピーマン 縦切り1センチ:3個くらい
トマト半分 同じように
オイスターソースで和える
フライパンに油多めにニンニク・豚こま・塩胡椒

グーグルのデータポータルの話

ルッカースタジオって名前が変わったね。(だいぶ前

Looker Studio

んで、以前に作っていたものが仕様変更により全く役に立たなくなったので作り直し。
URLの概念がちょっと判断つかなかったり色々あったけど
検索してとても役にたったのが

この記事:GA4における「ページパス+クエリ文字列」と「ページパスとスクリーン クラス」「ページ ロケーション」の違いについて(アナリティクスヘルプ)

ページロケーション:httpからはじまるURLを取得できるためドメインをまたいで計測する時に使用できます。
ページパス+クエリ文字列:パラメータ付与などを分類して計測する際に使用できます。
ページパスとスクリーン クラス:パラメータを分けずに計測する際に使用できます。

あー、以前は「ページ」って形でURLの情報を吐き出していたけど、いまは色々と変わっているみたい。

CASE
WHEN REGEXP_MATCH(ページパス+クエリ文字列, "^/$") then "TOP"
WHEN REGEXP_MATCH(ページパス+クエリ文字列, ".*\?page_id=.*") then "固定ページ"
WHEN REGEXP_MATCH(ページパス+クエリ文字列, ".*\?p=.*") then "投稿ページ"
ELSE 'その他'
END

単純にやればこういう感じになるのだろうけど
パラメータ
が複数組み合わさっている状況を考えると特定のページを個別で集計するようにすると複雑になりそうだ。
そういった際は
\?page_id=48(?:&|$)
こんな感じで対応できそう。

そろそろ花粉が抜けてくるタイミング

クシュン!

という感じではないけども、本体の花粉症が収まってきたような気がする。
歩いて通勤、帰宅して固定ローラーの自転車30分くらいを漕ぐ生活をなるべく続けているから、極端にスタミナが落ちているってことはないと思いたい。
そんなわけなので、登山を再開したい感じ。

あとはハイトゥーロープランクも再開しようね。