【軽量】godot engine【無料】 part5 (47レス)
1-

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
4: 10/25(土)12:35 ID:NnKvsApL(3/4) AAS
age忘れちゃった
5: 10/25(土)15:09 ID:I6KVrXlp(1) AAS
>>1
スレ進行遅いからもし次スレ立つなら>>980が立てるにして良いじゃない?
6: 10/25(土)15:18 ID:NnKvsApL(4/4) AAS
ん、同意。次スレ立てる人にお任せ
7: 10/31(金)20:34 ID:eonHQS1X(1) AAS
外部リンク:store.steampowered.com
こういう倉庫番なんだが倉庫番って配列に数字いれてステージ作るやん
視覚的にステージ作りたいんだが、タイルに番号つける→配列に変換
という作業するしかないのか?
8: 10/31(金)21:44 ID:xHyuqnI9(1) AAS
TileMapLayerを使う、エクセルの表から変換する、画像から変換する、テキストから変換する
パッと思いつくのでこんな所、配列に変換する視覚的な元情報は好きに選べるぞ
なんだったら配列その物も視覚的に書けるだろ
9: 11/01(土)04:56 ID:iF+OSGF+(1/2) AAS
カスタムレイヤで番号つけられるね
そういや
10: 11/01(土)17:40 ID:iF+OSGF+(2/2) AAS
少し変わったコンセプト考えて、実際に取り掛かると実装ムズとなることがある
無理矢理にでも形にすべきか
コンセプト変更してもいいけどな
11: 11/01(土)20:47 ID:RRGXHTlP(1) AAS
512 x 288のドット絵を等倍、2倍、3倍で表示できるようにして、高精細フォントを使いたいからメイン画面はサブビューポートを使う。
やりたかったのはこれだけなのに画面サイズ変更機能作るのに2週間くらいかかった
canvasitemとviewportで全然違うのややこしすぎるわ
12: 11/01(土)21:10 ID:sH0XpPsB(1) AAS
おつかれさん。サブビューポートの使いどころさんがいまだに分からないや
しかし、ドット絵を三倍か、なかなか勇気のある事をする
13: 11/01(土)21:50 ID:+375yu1T(1) AAS
サブビューポートさんは
この間パーティクルにラベル使ってダメージ表記作りたい時に使った
14: 11/04(火)14:17 ID:Mk8eOtM6(1) AAS
ローグ作りたいが道は遠い
15: 11/04(火)21:12 ID:AqohUvOo(1) AAS
ローグみたいな有名でオープンソースの元ネタも豊富なものは
「ローグスタイルのゲームつくって」ってAIに言えばサクッとつくってくれるんじゃないの
16: 11/05(水)12:06 ID:BBV6eM8H(1) AAS
そりゃ作ってはくれるでしょ(作ってくれるとは言っていない)
そのあとが問題なんだよな
17: 11/05(水)13:16 ID:hChDyjhf(1) AAS
さわれないからな、、
18: 11/07(金)01:44 ID:NCON4E65(1/4) AAS
IMEの入力中(文字に下線ある状態)にそのTextEditを削除するとその次のキー入力が押下イベントだけ発火して解放イベントが来ない
っていう現象に見舞われてるけどこれどうにかなる?
apply_imeやcancel_ime、release_focusしても無駄でした
19: 11/07(金)02:27 ID:lnTYGdBs(1/3) AAS
言っている意味が良く判らんかった
解放イベントはfocus_exitedと仮定すると
TextEdit(内のテキスト)を削除してもカレットはそこにあるのだから解放イベントは発生しないであってるんじゃないのかな?
解放イベントとはなんぞ?
20: 11/07(金)12:47 ID:NCON4E65(2/4) AAS
すみませんもうちょっと詳細に書きます
例えば以下のスクリプトを適当なノードに貼り、その子にTextEditを持たせるとします

func _physics_process(_delta: float) -> void:
if Engine.get_physics_frames() == 500: #時間経過で$TextEditを削除
$TextEdit.queue_free()

func _input(event: InputEvent) -> void:
if event is InputEventKey: #キー入力を記録
省14
21: 11/07(金)12:52 ID:NCON4E65(3/4) AAS
コードのインデント消えちゃったけど雰囲気で読み取ってください
修正待ちバグ案件な気もしてきた
22: 11/07(金)14:02 ID:lnTYGdBs(2/3) AAS
現象は確認できたけど対応策は判んないな
Linux環境では起きなかったのでWindows環境限定と思う
入力中のTextEditを削除する要件ってのが良く判らんがそこら辺から対策できるんじゃないのかね?
23: 11/07(金)15:51 ID:c4lPyYM9(1) AAS
はーおもしろいバグ見つけたね
これはチケット切りましょ、なんなら自分でプルリク送りましょ
24: 11/07(金)22:41 ID:NCON4E65(4/4) AAS
やっぱりキツいですかねー
やりたいのが制限時間尽きたら入力ダイアログ閉じるみたいなシンプルな動作なんだけどバグ回避するのも結構難しそう

バグ報告とかやったことないけどどうにか調べてやってみますわ……
25
(1): 11/07(金)23:47 ID:lnTYGdBs(3/3) AAS
IME制御がOSの管理下でGodotEngineから制御しきれてないのが原因と仮定して
win32apiのkeybd_eventでVK_ESCAPEを下げ上げしてIME操作を取り消した所、問題の回避に成功したと思われ
ui_rightが押されっぱなしの挙動はなくなりました

ログはこんな感じ(IMEオン→1キー入力→取り消し操作の時間まで待機→右カーソル入力)
InputEventKey: keycode=8388607 (Unknown), mods=none, physical=false, location=unspecified, pressed=false, echo=false
InputEventKey: keycode=8388607 (Unknown), mods=none, physical=false, location=unspecified, pressed=true, echo=false
InputEventKey: keycode=4194321 (Right), mods=none, physical=false, location=unspecified, pressed=true, echo=false
省1
26: 11/08(土)08:56 ID:ZjDMOKGY(1) AAS
小さなモックはサクッと作れるようになりたい
27
(1): 11/08(土)09:57 ID:0lkI1PxY(1) AAS
>>25
質問者です
ちょっと俺のスキル足りなくて理解し切れてないんだけど希望ありそうなのはありがたい
ありがとう
28: 11/08(土)10:19 ID:DnZpcrSa(1/2) AAS
>>27
IMEの候補ウインドウが表示されている時に人がエスケープキーを押して取り消す操作を
Windowsに備わってるAPI呼び出し関数を使って再現する方法を取っています

Windowsの機能を呼ぶためのDLL群の事をWin32APIと呼び
今回はキーボードの入力イベントを再現するkeybd_event関数を利用しています
Win32APIはGDScriptよりもC#からの方が呼び出すのが容易なのでC#で機能を作りました
やってる事はありきたりな方法なのでブラウザのAIにでも聞けば教えてくれると思います
29: 11/08(土)10:26 ID:DnZpcrSa(2/2) AAS
Godotのプロジェクト内でGDScriptとC#は同時に利用できるので
keybd_eventを呼び出す為だけの.csファイルを用意してGDScriptから呼び出しました
提示ソースのqueue_free()がkeybd_eventの呼び出し関数に置き代わりになります
問題の発生しないcance_ime()代替関数と言えるかもしれません
30: 11/09(日)06:23 ID:tZtmJDi3(1) AAS
C#とGDscriptどちら使うもんなの
31: 11/09(日)14:15 ID:yrrBSKKL(1) AAS
ワナビ2057の場合は、GDScript。
それ以外の人は、好きな方を使う。

以上、次の質問どうぞ。

Choosing Between C# and GDScript in Godot | Patrick T Coakley
外部リンク:patricktcoakley.com
32: 11/10(月)19:32 ID:A216r14H(1) AAS
godot用のvscode拡張で、高機能なやつなんだっけ
ピエロみたいなマークのやつ
33: 11/11(火)05:45 ID:Yis2Hx0Z(1) AAS
コードって全て型つけしたほうがわかりやすくなるんやろ?
untyped decralationをエラーにしといたほうがいいのかい?
34: 11/13(木)13:19 ID:S8ZzI1Dx(1) AAS
配列の型なんだけど、variant使うのがいいのかね?
intにすると空の[]すら入れられないみたい。
色々面倒やな
35: 11/18(火)11:30 ID:dZjxXGEg(1) AAS
var a :Array[int] = [1, 2, 3]
print(a.size()) # Prints 3
a = []
print(a.size()) # Prints 0
36: 11/19(水)13:30 ID:v8zT46RE(1/3) AAS
ArrayをArray[int]に簡単に変換する方法あったりするの?
for文で回して配列作り直すしかないんかな
as Array[int]はダメっぽいし
37
(1): 11/19(水)13:30 ID:v8zT46RE(2/3) AAS
ArrayをArray[int]に簡単に変換する方法あったりするの?
for文で回して配列作り直すしかないんかな
as Array[int]はダメっぽいし
38: 11/19(水)14:15 ID:kHRrMfdl(1/4) AAS
>intにすると空の[]すら入れられないみたい。
は嘘と提示してるだけなので違う話を持ち出されても困る
らしいではなく自分で試せ

>ArrayをArray[int]に簡単に変換する方法あったりするの?
型指定をするのは自分で型を管理できるからなので不用意な変換が発生する設計をしない
変換そのものはできる、自分で調べろ
39: 11/19(水)14:15 ID:RIPT4Gyy(1) AAS
>>37
var array: Array = [1,2,3]
var int_array: Array[int]
int_array.assign(array)
40: 11/19(水)14:27 ID:kHRrMfdl(2/4) AAS
回答書かれてしまったから書くがコンストラクタでもできる
var array: Array = [1,2,3]
var int_array: Array[int] = Array(array, TYPE_INT, "", null) # Array[int]
print(int_array.size()) # Prints 3

マニュアル読め
docs.godotengine.org/ja/4.x/classes/class_array.html
41: 11/19(水)21:23 ID:v8zT46RE(3/3) AAS
サンクス
jsonで整数の配列を読み込むと値がfloatになるっぽいんだけどこの状態の配列に対してarr.erase(0)とかで整数の値消そうとしても消せないみたい
だから型をintにする必要があった
42: 11/19(水)22:06 ID:kHRrMfdl(3/4) AAS
>floatになるっぽいんだけどこの状態の配列に対してarr.erase(0)とかで整数の値消そうとしても消せないみたい
実際に試してみたか?
var float_array: Array[float] = [0.0, 1.1, 2.2]
float_array.erase(0)
print(float_array.size()) # Prints 2

>jsonで整数の配列を読み込むと値がfloatになるっぽい
ここから何かが違ってるのだろ
43: 11/19(水)22:21 ID:rYGTSCKR(1) AAS
JSONには数値型はあるが、整数型はない
だからJSONを読み込んで整数の配列を期待するのは間違い
44: 11/19(水)22:42 ID:Wy3zyUux(1) AAS
ColorRectノードにアウトライン設定する方法インスペクタ上にある?
45: 11/19(水)22:48 ID:kHRrMfdl(4/4) AAS
マニュアル読め
docs.godotengine.org/ja/4.x/classes/class_colorrect.html
46: 11/20(木)00:06 ID:6YXRCu32(1) AAS
所持アイテムのIDをintで管理して配列に突っ込んでJSONで保存、読み込みとかありそうだけどダメなのか
47: 11/20(木)00:20 ID:w9GKd/Ei(1) AAS
JSON だと数値が整数である保証がないので、全部 float として扱うのは自然ではある
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s