[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
252: 2024/04/09(火)14:36 ID:oLx3m2KZ(2/2) AAS
画像リンク

オートタイルを作りたいけど、仕組みがよく理解できない
terrainをペイントすることでそれっぽくなるけど、どこをどうペイントするといいのかガ分からない
253: 2024/04/13(土)06:35 ID:DtpmdlV4(1/3) AAS
動画リンク[YouTube]

オートタイルの動画あったけど仕組みが分からん
塗った場所によって、どのようにつながるか決まるらしいけど、どなたか教えて
254: 2024/04/13(土)12:16 ID:4XyoFcVO(1) AAS
いやこれで分からないんじゃ説明のしようがねえじゃん
255: 2024/04/13(土)14:29 ID:2dO4J81U(1/2) AAS
俺の立てたスレに来たら懇切丁寧に教えてもよかったけど
この顔文字くん来ないんだよな
人が多いとこに居たいんだろうけど
256
(1): 2024/04/13(土)15:12 ID:DtpmdlV4(2/3) AAS
立てたっけ?
257: 2024/04/13(土)15:15 ID:2dO4J81U(2/2) AAS
>>256
ここな>>216
258: 2024/04/13(土)15:27 ID:DtpmdlV4(3/3) AAS
人のこと池沼とか書いてるやついるからええわ
259: 2024/04/13(土)22:30 ID:PLTsef0l(1) AAS
自覚持てよ
260: 2024/04/14(日)04:27 ID:xkIt8wPU(1) AAS
そういうのいらないから
261: 2024/04/14(日)14:53 ID:pt7t7Gdb(1) AAS
オマエモナー
262: 2024/04/17(水)11:03 ID:c7cp2PUr(1/3) AAS
godot4で方向取る関数ってなんですか?
input.get_axisだと引数が2つ必要になっていましたね
以前はinput.get_axis("horizontal")←これで横方向がトレていたのですが、
263
(1): 2024/04/17(水)11:23 ID:S9SgvMuX(1/3) AAS
以前とはいつの事か?またはどのバージョンの事か?
質問する前に自分の記憶が正しいかの確認をする
外部リンク[html]:docs.godotengine.org
初登場時からget_axisの引数は2つ
get_axisの機能を方向取る関数と認識しているのならば
引数の形式が変わっていても新しい引数の形式での使い方を理解するしかない
264: 2024/04/17(水)11:59 ID:c7cp2PUr(2/3) AAS
>>263
そうでしたか
なにかの記憶違いだったかもしれないです

var direction
if Input.is_action_just_pressed("ui_right"):
direction = "right"
if Input.is_action_just_pressed("ui_left"):
direction = "left"
if Input.is_action_just_pressed("ui_up"):
direction = "up"
if Input.is_action_just_pressed("ui_down"):
direction = "down"
_move(direction)

文字列での分岐にすることにしました
265: 2024/04/17(水)12:28 ID:S9SgvMuX(2/3) AAS
なんとなくの予想だがUnityのInputSystem辺りと記憶が混ざってるのかもね
理解できず動かない簡潔なコードよりも理解できて正しく動く冗長なコードが勝るが
get_axisとget_vectorは有用なので使い方は理解できた方が良い
余裕があれば挑戦してみて欲しい
公式のサンプルでは大体こんな感じで使われている
# 左右をfloatで取得
var movement = get_axis("ui_left", "ui_right")
# 上下左右をVector2で取得
var direction = get_vector("ui_left", "ui_right", "ui_up", "ui_down")
266: 2024/04/17(水)14:58 ID:S9SgvMuX(3/3) AAS
Inputクラスの記述が抜けてた
var movement = Input.get_axis("ui_left", "ui_right")
# 上下左右をVector2で取得
var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")

書き足しついでで補足すると意味的にはこんなん
1軸の向き = get_axis(-方向、+方向)
Vector2(x軸の向き, y軸の向き) = get_vector(x軸負方向、x軸正方向、y軸負方向、y軸正方向)

移動処理が簡潔に書ける
extends Node2D
const SPEED = 300.0
func _process(delta):
var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
position += direction * SPEED * delta
267: 2024/04/17(水)17:28 ID:c7cp2PUr(3/3) AAS
どうも
get_vectorで方角を返すってやつですね
268: 2024/04/18(木)11:29 ID:o06ulE3s(1) AAS
godotは割とredditが賑わってるのがありがたいは
むしろunityより賑わってるのが謎
269: 2024/04/19(金)18:17 ID:611er4q0(1/2) AAS
配列特定の値を探したい場合、forで回して比較演算子かfindか使い分けはどうすればいいの?
270: 2024/04/19(金)19:27 ID:6eKwksTY(1) AAS
関数の方が安全で手っ取り早い代わりに若干低速な可能性がある どれくらい差があるかは知らない
配列の中身が順番に並んでるならbsearch使うか二分探索自分で書けば速い
271: 2024/04/19(金)19:31 ID:611er4q0(2/2) AAS
どうも
どのみち二次元だとfind使えないみたいですね
272
(1): 2024/04/20(土)11:57 ID:gSjSgOMM(1) AAS
一時的にスクリプトを停止出来ますか?
processをdisableしてもprintはされるみたいです
273: 2024/04/21(日)10:08 ID:YXvcVHHE(1) AAS
定型文登録って合ったっけ?
以下の4方向バージョンを登録しておきたい
if Input.is_action_just_pressed("ui_up"):
move()
274
(1): 2024/04/23(火)12:13 ID:/jRBBB4p(1/4) AAS
特定の関数の中でしか使わない関数ってのはどう定義すればいいの?
入れ子に出来れば関係ない場所から参照されないからいいと思うんだけど

func outer():
func inner():
こんな感じの入れ子は無理っぽいからラムダってやつ使うのかな

しかし、以下だとprint結果が帰ってこない
extends Node2D
func _ready() -> void:
print(lam)
var lam = func outer(num):
var value = "hogehoge"
return value
275: 2024/04/23(火)12:26 ID:/jRBBB4p(2/4) AAS
あっ、callしないと駄目なんですね
276: 2024/04/23(火)13:00 ID:K58WhwWv(1/5) AAS
関数のままでは入れ子にできないからCallableとして宣言する
呼び出しは変数名で行うから関数名はなくて良い
func _ready():
var innner = func(x = 1):return x * 2
prints("inner() called:", innner.call())
prints("inner(2) called:", innner.call(2))
277: 2024/04/23(火)14:27 ID:/jRBBB4p(3/4) AAS
どうも
入れ子で書けないのなら、普通の関数とあまり変わらない感じですね
視覚的にこう1箇所にまとめたかったんですが
278
(1): 2024/04/23(火)15:16 ID:K58WhwWv(2/5) AAS
変数に代入して使うのが馴染みないかもだが
関係ない場所からの参照ができなくなるから>>274で求められた機能としては十分
使用する変数は大体最初に宣言するから一箇所にまとまるのでは?
279
(1): 2024/04/23(火)15:27 ID:K58WhwWv(3/5) AAS
>>272
完全停止は出来ないがprocess_modeにdisableを指定した上で
動かれて困るメソッドの先頭に以下の一文でも足せば良いんじゃないかな?
if process_mode == Node.PROCESS_MODE_DISABLED: return
280: 2024/04/23(火)19:08 ID:/jRBBB4p(4/4) AAS
>>278
関係ない場所から参照出来なくなるというのは、callが付与されることで、そのような効果があるということでしょうか?

>>279
どうも
disableでもおそらくreadyは動くみたいですね
281
(1): 2024/04/23(火)19:38 ID:K58WhwWv(4/5) AAS
ローカルで宣言した変数のスコープはローカルという普通の話
別にCallableでの特別処理とかではない
グローバルで宣言すればグローバルから扱える

_readyの様な初期化処理まで動かしたくないというなら自分は設計の見直しをする
必要なときにadd_childとqueue_freeすればprocess管理する必要がないのではないか?
1-
あと 721 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.017s