[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
77: sage 2024/03/01(金)18:44 ID:jbulu0J9(2/2) AAS
 >>75、76 
 あーラジアンでしたっけ… 
 もともと数学苦手なうえにもう忘れてました 
 rad_to_degって組み込み関数があるんですね 
 覚えておきます 
 ありがとう 
78: 2024/03/01(金)18:47 ID:7q9U3fNz(5/5) AAS
 ちょっと回答が投げやりすぎた 
 座標から角度の変換はVectorクラスに便利メソッドあるからそれ使うと良いよ 
 print(rad_to_deg(Vector2(1, 1).angle())) 
79: 2024/03/02(土)06:26 ID:fHi1iYWZ(1/3) AAS
 godotって3dオブジェクトを2dとして扱う機能はないんですよね。 
 unityのように 
80: 2024/03/02(土)11:35 ID:fHi1iYWZ(2/3) AAS
 エディタをフローティングにすると画面大きくて使いやすい 
 今まで気づかなかった(*´ω`*)、、、 
81: 2024/03/02(土)11:37 ID:fHi1iYWZ(3/3) AAS
 しかし、gptがあるとだいぶ楽だねぇ 
 godot4には対応してないみたいだけど 
82: 2024/03/02(土)19:41 ID:2foM6lQ9(1) AAS
 無いわけじゃないけど 
 自分の知る限りはビューポート使うか3D素材をgodot外で2Dに起こすくらいじゃないか 
 もっと効率のいい方法があるなら自分が知りたいくらいだ 
  
 じゃなきゃ最初から3Dシーンで2.5Dゲーム作るほうが早いだろうな 
83: 2024/03/03(日)02:31 ID:EG5KL4S5(1) AAS
 Unityは3Dオブジェクトを2Dにしてるんじゃなくて2Dを全部3D空間上に配置してて、2Dのテンプレートも内部的には全部3Dだからそういうことができてるように見せかけてるだけ 
84: 2024/03/03(日)04:50 ID:UwGRXxZo(1/3) AAS
 あの2d表示が便利だなと思うこともありますよね 
 3dから2d素材作るために一度画像にレンダリングしないといけないのも手間ですし 
85: 2024/03/03(日)04:55 ID:UwGRXxZo(2/3) AAS
 スキルもないしコツコツと小さいクソゲー作るしかないね 
86: 2024/03/03(日)06:30 ID:UwGRXxZo(3/3) AAS
 他人のコードを読む能力がないわ 
 難しいね 他人のコードは 
87(1): 2024/03/04(月)14:33 ID:Y8uyU2JR(1/4) AAS
 質問なんですが、下にあるデバッガーの位置は変更出来ないのでしょうか? 
 少し邪魔に感じることがあり、フローティング表示にしたいのですが 
88(1): 2024/03/04(月)14:39 ID:MRQbhd4x(1/4) AAS
 >>69 
 コードをコピペして動かしてみた 
 予測軌道は描けたが実際のRigidBodyの挙動とは同じにならなかったので調整は必要そう 
 書かれていない初期設定部分で正しく調整されているのかも知れない 
 物理エンジンは自分の思い通りに動かない事が多くて悩ましい 
89: 2024/03/04(月)14:47 ID:MRQbhd4x(2/4) AAS
 >>87 
 フローティングボタンが付いてないのだから出来ないのだろう 
 現在開いているタブクリックで最小化するので十分ではないのか? 
90: 2024/03/04(月)15:15 ID:Y8uyU2JR(2/4) AAS
 ありがとう 
 諦める 
  
 実行すると勝手に開いたりするのが煩わしいなと感じて 
91: 2024/03/04(月)15:49 ID:MRQbhd4x(3/4) AAS
 [エディタ設定][実行][出力][Always Open Output on Play]をfalseにする 
 変更反映はエディタ再起動後 
92: 2024/03/04(月)16:51 ID:Y8uyU2JR(3/4) AAS
 ありがとう 
93: 2024/03/04(月)18:19 ID:Y8uyU2JR(4/4) AAS
 extends Node2D 
 var line2d_node:Line2D 
 var mouse_pos 
 func _ready() -> void: 
  line2d_node = get_node("Line2D") 
 func draw_to_cursor(): 
  for i in range(1): 
   # 点を打つ処理 
   var line_point = self.position 
   line2d_node.add_point(self.position) 
   line2d_node.add_point(mouse_pos) 
   print("draw") 
  line2d_node.clear_points() 
連投すみません 
 数時間やって解決出来なかったので質問させてください 
  
 上で放物線の質問をしたものです。 
  
 自キャラを起点としてマウス位置にline2dを伸ばしたいのですが、描画されません。 
 画像のように線を1本だけ描きたい感じです 
  
 clear_points関数がなければ描画されるので、この部分の処理がまずいのだと思います。 
 inputでdraw_to_cursorを実行しているので、マウスを動かしたときに処理が走りますが、瞬時に消えてしまうから問題なのだと思います。 
 しかし、process内でやってもすぐ消えてしまいます(ラインが描画されない)。 
  
 
94: 2024/03/04(月)18:58 ID:maXrH/rV(1) AAS
 点追加→描画→クリアじゃなくて最初にクリアしてから点を追加する様にすればいいんじゃない? 
 それかLine2dは使わずdraw_line()で描くとか 
95(1): 2024/03/04(月)21:05 ID:MRQbhd4x(4/4) AAS
 ほぼ正解なのに後一考が足りないのが惜しい 
 clear_points()が何をする命令かを理解し 
 処理の最後にclear_points()するとどうなるのか考えれば自明だと思うのだがな 
96: 2024/03/05(火)05:33 ID:NetOoeu2(1/3) AAS
 リファレンス見直してみます ありがとう 
 消し方の部分ですね 
97(1): 2024/03/05(火)06:35 ID:NetOoeu2(2/3) AAS
 godotってaiインテリセンスとかないのですかね? 
 visual studioのあれは楽すぎてビビった記憶があります 
 先の先まで先読みしてくれるので 
98: 2024/03/05(火)12:37 ID:NetOoeu2(3/3) AAS
 >>95 
 こんなふうに描画関数内の削除ではなく、フレーム内で削除するようにしたらうまくいきました。 
 どうもコードの流れが分かってないみたいです 
 画像リンク
 
 
 図にしてみましたがこれの違いを言語化出来ないでしょうか? 
外部リンク:ideone.com 
 extends Node2D 
 var line2d_node:Line2D 
 var mouse_pos 
 func _ready() -> void: 
  line2d_node = get_node("Line2D") 
 func _process(delta: float) -> void: 
  mouse_pos = get_global_mouse_position() 
  line2d_node.clear_points() 
  if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): 
   draw_to_cursor() 
 func draw_to_cursor(): 
  for i in range(1): 
   # 点を打つ処理 
   var line_point = self.position 
   line2d_node.add_point(self.position) 
   line2d_node.add_point(mouse_pos) 
   print("描画") 
99(1): 2024/03/05(火)13:32 ID:LGdF4KOk(1) AAS
 図表が何の例なのかが判らないのでそれとは違う話をする 
 GUIアプリはライフサイクルに従って動作する 
 Godotの良い例が見つからなかったのでUnityのライフサイクルを元に話を進める 
 外部リンク[html]:docs.unity3d.com 
 図中の処理を以下の様に読み替えて欲しい 
 Awake=_init() 
 Start=_ready() 
 FixedUpdate=_physics_process() 
 OnMouseXXX=_input() 
 Update=_process() 
  
 ここで注視するのは画面描画のタイミングでそれは各種Renderingのステージで行われる 
 Initialization:初期化 
 Physics:物理演算 
 Input events:入力反映 
 Game logic:ゲーム処理 
 を経て、それらの処理で作られた描画データを元に描画が行われる 
 描画後は物理演算から繰り返し 
 これはUnityの例なのでGodotにおいては実行順が異なる可能性がある 
100(1): 2024/03/05(火)14:58 ID:2jT49Fhn(1) AAS
 そもそもdraw_to_cursor内に描画処理は入ってない 
 add_pointは後から_draw()で描画される事になる線を構成する点を追加するというだけ 
101(1): 2024/03/05(火)16:14 ID:WbtfMd0/(1) AAS
 >>97 
 vscode経由でやればできるにはできるけど 
 gdscriptだと実用レベルのコードはほぼでないよ 
102: 2024/03/06(水)06:26 ID:0YKHfOtY(1/5) AAS
 >>99 
 返信遅れてごめんなさい 
 寝不足でずっと寝てました 
  
 >>100 
 あっそうか、マウスクリック時にしか描画されないという点が問題だったんですね 
  
 >>101 
 unity c#より記述量少ないからなくてもいいかもですね 
103: 2024/03/06(水)06:39 ID:xC/Ga180(1) AAS
 自分は同じような内容列記するときだけ使ってるかな 
 APIの使い方が間違ってたり、文法がおかしかったりと普段使いはむしろ邪魔 
104: 2024/03/06(水)06:45 ID:0YKHfOtY(2/5) AAS
 放物線あと2日くらいで完成させる(*´ω`*) 
105(1): 2024/03/06(水)06:49 ID:0YKHfOtY(3/5) AAS
 インテリコードっていう呼び名でしたっけね 
106: 2024/03/06(水)17:57 ID:0YKHfOtY(4/5) AAS
 is_mouse_button_pressedはありますけど、 
 マウスにjust pressed系はないんですかな? 
上下前次1-新書関写板覧索設栞歴
あと 896 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.020s