2023-11-08に更新

Godot で選択肢カーソルを作ろうぜ(^~^)?

親記事から来た

📖 Godot って何だぜ(^~^)?

はじめに

ramen-tabero-futsu2.png
「 選択肢カーソルは」

→ ・攻める
 ・守る
 ・投了
 ・勝ち宣言

ramen-tabero-futsu2.png
「 👆 上記の場合は 1,2,3,4 と表し、」

 さあ選べ
→ ・居飛車
 ・振り飛車

ramen-tabero-futsu2.png
「 👆 上記の場合は 2,3 と表す。
つまり どの行の頭にカーソルが止まるか、序数で表す」

ramen-tabero-futsu2.png
「 このような数列を入れている配列を choices_row_numbers と呼ぶぜ」

kifuwarabe-futsu.png
「 汎用性があるかは知らんが、まあ いいんじゃないか」

ramen-tabero-futsu2.png
「 現在、カーソルが指している choices_row_numbers 配列の要素のインデックスを
choices_index と呼ぶ。初期値は 0

ramen-tabero-futsu2.png
「 現在、カーソルが指している行番号を取得するには、
get_row_number_of_choices() メソッドを使う」

ramen-tabero-futsu2.png
「 選択肢カーソルを下へ移動できるかは、 can_cursor_down() メソッドを使う。
真偽値を返す」

ramen-tabero-futsu2.png
「 選択肢カーソルを上へ移動できるかは、 can_cursor_up() メソッドを使う。
真偽値を返す」

あっ!

ramen-tabero-futsu2.png
「 レバーを押したか、離したかを見てないな。
レバーを押したときと、離したときで 2回 入力が入っている」

kifuwarabe-futsu.png
「 直せ!」

ramen-tabero-futsu2.png
「 レバーを押したときだけ反応するようにしたら、
不具合が1つ直って、別の不具合が出てきたぜ」

ohkina-hiyoko-futsu2.png
「 前進よ、前進」

ウィンドウごとの、カーソルの初期位置をどう記憶する?

ramen-tabero-futsu2.png
「 カーソルの初期位置を どう記憶するか。
初期位置というより、原点がいいのか」

kifuwarabe-futsu.png
「 choices_cursor_origin_x と、 choices_cursor_origin_y 変数を用意しろだぜ」

ramen-tabero-futsu2.png
「 先頭が1行目とは限らないんだよな」

ohkina-hiyoko-futsu2.png
「 get_cursor_x() と、 get_cursor_y() メソッドを作りなさいよ」

ramen-tabero-futsu2.png
「 font_height を 32、 line_space_height を 16 として、
座標を計算してみるぜ」

ramen-tabero-futsu2.png
「 ラベルは get_transform().x や、 get_transform().y より、
offset_leftoffset_top を使った方がいいのかだぜ?
よく分からんなあ」

.

ツイッターでシェア
みんなに共有、忘れないようにメモ

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント