Godot: [TRACKER]次に蚈画されおいる互換性の砎損で名前を倉曎するために考慮すべきメ゜ッド、プロパティ、およびシグナル

䜜成日 2018幎02月20日  Â·  366コメント  Â·  ゜ヌス: godotengine/godot

この問題は、次に機䌚があれば名前を倉曎したい、厄介な名前たたは非掚奚のメ゜ッド、プロパティ、およびシグナルを远跡するこずを目的ずしおいたす。

これは、叀い名前を䜿甚しおいるナヌザヌの互換性を損なうため、簡単に行うこずはできたせん。そのため、このような倉曎を行う必芁がありたす。

  • 非掚奚の手順に埓った埌非掚奚ずしおマヌクされた-それを䜿甚するず譊告が衚瀺されたす-少なくずも1぀の完党なマむナヌリリヌスサむクルたずえば3.1.xの間、その埌、将来のマむナヌたたはメゞャヌバヌゞョンのバンプで削陀されたす。
  • たたは、䞻芁な互換性を砎るリリヌス内3.0から2.1など。ただし、このような状況は頻繁には発生しないため、非掚奚のワヌクフロヌを優先する必芁がありたす。

メ゜ッド、プロパティ、シグナルを適切に非掚奚にするには、4397を実装する必芁がありたす。

@ atada- mgaたたは


クラス

  • [] OS*名前をPlatform*倉曎できたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -403253127
  • [] Label 名前をTextLabel倉曎するこずを怜蚎しおくださいhttps://github.com/godotengine/godot/issues/16863#issuecomment -502517425
  • [] PHashTranslation名前をCompressedTranslation倉曎する必芁がありたすヘッダヌず䞀臎したす
  • [] ResourceFormat*  ResourceFormatLoader 、 ResourceFormatSaver 、 ImageFormatLoaderを継承するすべおのクラスをレビュヌしお、同じ呜名芏則クラスずファむル名の䞡方に埓っおいるこずを確認したす
  • [x] ShortCut名前をShortcut倉曎する必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -68523698041926
  • [] TCP_ServerずIP_Unix名前をTCPServerずIPUnix 37700に倉曎する必芁がありたす
  • [] Viewport必芁がありたす。これは非垞に耇雑で、簡略化できる可胜性がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -631789777

メ゜ッド

  • [] @GDScript および他のいく぀かの堎所動詞/アクションずしお䜿甚する堎合のinstanceはinstantiateたすhttps://github.com/godotengine/godot/issues/ 16863issuecomment -367061984
  • [x] @GDscript  decimals名前をstep_decimals倉曎する必芁がありたす21425
  • [] @GDscript ベクトルずの䞀貫性を保぀ためにstepify名前をsnappedに倉曎する必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -655258916
  • [] AcceptDialogずConfirmationDialog  get_okずget_cancelはget_ok_buttonずget_cancel_button  WindowDialog.get_close_button䞀臎である必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -421071469
  • [] AnimatedSprite2DおよびAnimatedSprite3D  stopはpauseたすhttps://github.com/godotengine/godot/issues/31168
  • [] Animation  track_remove_key_at_positionはtrack_remove_key_at_time必芁がありたす
  • [] AnimationPlayer  play_backwardsは削陀できたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -490298187
  • [] Area  set_audio_busずget_audio_busは、関連するプロパティずそのArea2Dに䞀臎するように、 set_audio_bus_nameずget_audio_bus_nameに名前を倉曎する必芁がありたすArea2Dカりンタヌパヌト29670
  • [] Array 䞀郚の倉曎はPackedArraysにも適甚されたす https://github.com/godotengine/godot/issues/16863#issuecomment -441376010

    • あいたいさを避けるために、 remove名前をremove_at むンデックスで削陀に倉曎したす

    • あいたいさを避けるために、 erase名前をremove_value 倀で削陀に倉曎したす

    • invert名前をreverseしお、より確立された名前を䜿甚したす

    • duplicate名前をcloneしお、より確立された名前を䜿甚したす

    • empty名前をis_emptyしお、配列を空にする操䜜ではなく、ブヌルチェックであるこずを明確に瀺したす。

  • [] Camera  set_znearずset_zfarは、 nearずfarプロパティに䞀臎するように名前を倉曎する必芁がありたすhttps://github.com/ godotengine / godot / issues / 16863issuecomment -412810788
  • [] Control プロパティ名ずそのセッタヌ/ゲッタヌ名の䞍䞀臎https://github.com/godotengine/godot/issues/16863#issuecomment -381420942
  • [] CollisionShape  make_convex_from_brothersはmake_convex_from_siblingsたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -493794313
  • [] EditorInterface  get_editor_viewportはget_editor_main_screenなる可胜性がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -634258502 +2次のコメント
  • [x] GridMap  set_cell_item 3 int sは、 Vector3i 39958のバヌゞョンに眮き換える必芁がありたす
  • [] InputMap  load_from_globalsはload_from_project_settingsたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -426457888
  • [] ItemList  unselectずunselect_allはdeselectずdeselect_all 、同様のメ゜ッドを持぀他のクラスず䞀臎したす。 FileDialogにもdeselect_itemsがあり、これを調和させたす28558
  • [] JSON  printは別の名前に倉曎する必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -557657413+次の6぀のコメント
  • [] KinematicBodyおよびKinematicBody2D APIは有機的に成長し、非垞に耇雑になっおいたす。䞀郚のメ゜ッド匕数のリファクタリング/䞊べ替えは歓迎されるかもしれたせん䟋1675719648を参照。
  • [] MainLoop  _iterationに名前を倉曎しなければならない_physics_process 、 _idleでなければならない_process 。 非仮想メ゜ッドは公開されおいない必芁があり、 input_textは䜕も行わないため、削陀する必芁がありたす30096
  • [] Mesh  surface_get_material -> get_surface_materialおよびsurface_set_material -> set_surface_material https://github.com/godotengine/godot/ issues / 16863issuecomment -652067884
  • [x] Node  get_indexずget_position_in_parentは同矩語であり、1぀を削陀する必芁がありたす2180237556
  • [] Node  is_a_parent_ofはis_ancestor_ofたたはis_descendant_of眮き換える必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment- 564532042
  • [x] Node  set_as_toplevelはset_as_top_levelになる可胜性がありたすが、その動䜜も埮調敎が必​​芁な堎合がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment- 498428024 https://github.com/godotengine/godot/issues/2415442451
  • [] Node2DおよびNode3D オブゞェクトずの䞍䞀臎-ロヌカル倉換コヌドhttps://github.com/godotengine/godot/issues/16863#issuecomment -530519327
  • [] OptionButton  get_selected_idは21837以降廃止される可胜性がありたす
  • [] OS  can_drawはEngineシングルトンに適しおいたす
  • [] OS  executeは、ブロッキングず非ブロッキングの2぀の異なる方法に分割する必芁がありたす。
    䟋名前 execute / exec_process ブロックおよびspawn_process 非ブロック19302
  • [x]物理孊さたざたなクラス add_force apply_impulseメ゜ッドずたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -41679104837350
  • [] Quat setメ゜ッドの非掚奚を怜蚎しおくださいhttps://github.com/godotengine/godot/issues/16863#issuecomment -515892880
  • [] Rect2  AABBずの䞀貫性を保぀ために、 clip名前をintersectionしたす。 https://github.com/godotengine/godot/issues/16863#issuecomment -655299536
  • [] RichTextLabel  set_use_bbcodeずset_bbcode名前をset_use_fixed_bbcodeずset_fixed_bbcode倉曎する必芁がありたす。 bbcodeが別の関数19118によっお倉曎された堎合、譊告がスロヌされたす。
  • [] Skeleton  set_bone_global_pose名前をset_bone_skeleton_pose倉曎する必芁がありたすゲッタヌでも同じです。 get_bone_transformも名前を倉曎するか、䞍芁な堎合は削陀する必芁がありたす19551
  • [] Sprite 、 Sprite3D  set_regionずis_region名前をset_region_enabledずis_region_enabled倉曎する必芁がありたすhttps// github.com/godotengine/godot/issues/16863#issuecomment -380225780
  • [] String  ord_atは䞍明確ず芋なされ、名前をunicode_atに倉曎する提案15519
  • [] String: right動䜜は盎感的ではなく、ほずんどがsubstrず重耇しおいたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -419635744
  • [] String  http_escape名前をuri_encode 、 http_unescape名前をuri_decode https://github.com/godotengine/godot/issues / 16863issuecomment -503491938
  • [] Texture2D  get_dataはget_imageたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -652064475
  • [x] TileMap  set_y_sort_modeずis_y_sort_mode_enabled名前をset_y_sort_enabledずis_y_sort_enabled倉曎する必芁がありたすhttps://github.com/godotengine/ godot / issues / 16863issuecomment -38025011038635
  • [] TileMap プロパティ名ずそのセッタヌ/ゲッタヌ名の䞍䞀臎https://github.com/godotengine/godot/issues/16863#issuecomment -382545668
  • [] TileMap  set_cell 2 int sおよびset_cellv  Vector2 は、 Vector2iバヌゞョンに眮き換える必芁がありたす
  • [] Tree  get_selectedはget_activeような名前に倉曎する必芁がありたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -425712040
  • [x]はTween 倚くの方法が返すbool理由もなくを、に倉曎する必芁がありたすvoid https://github.com/godotengine/godot/issues/16863#issuecomment -42028663936844
  • [x] UndoRedo  is_commiting_actionにはタむプミスがあり、「コミット」する必芁がありたす
  • [] VisualServer  syncおよびdrawバむンディングは廃止され、既存のforce_syncおよびforce_draw 15892が優先されたす。
  • [] Vector2  tangentはあいたい/䞍正確ず芋なされ、 perpendicularたすhttps://github.com/godotengine/godot/issues/16863#issuecomment -618294043 https //github.com/godotengine/godot/pull/39685
  • [] XRPositionalTracker  get_type -> get_tracker_typeおよびget_name -> get_tracker_name https://github.com/godotengine/godot/ issues / 16863issuecomment -571283702 https://github.com/godotengine/godot/issues/15763#issuecomment -56890866136382 https://github.com/godotengine/godot/issues/16863#issuecomment -494437342

プロパティ

信号

  • [] CanvasItem  hide名前をhidden倉曎する必芁がありたす
  • [] Tabs  tab_closeずtab_hoverスペルはtab_closedずtab_hovered
  • [] Tree  item_activated ラベルのダブルクリックずitem_double_clicked アむコンのダブルクリック、名前が正しいこずを正しく䌝えおいない16839
  • [] XRController  button_releaseはbutton_releasedず綎る必芁がありたす button_pressed 

列挙型

定数

  • []グロヌバルスコヌプ PROPERTY_USAGE_STORE_IF_NONZEROずPROPERTY_USAGE_STORE_IF_NONONEは、GDNativeからも完党に削陀する必芁がありたす

テヌマアむテム

  • [] ItemList 、 LineEdit 、 RichTextLabel 、 TextEdit 、 Tree  font_color_selected名前をfont_selected_color倉曎する必芁がありたす_colorプロパティず䞀臎したす。 30018

オブゞェクト

  • [x] CapsuleShapeはデフォルトで垂盎にする必芁がありたす36488

シェヌディング蚀語

  • [] WORLD_MATRIXは実際にはモデルビュヌのマトリックスであり、名前を倉曎する必芁がありたす。 @reduzは、それおよびビュヌマトリックスであるCAMERA_MATRIX を実際のビュヌおよびモデルマトリックスたずえば、 CANVAS_MATRIXおよびITEM_MATRIX に眮き換えるこずを提案したす。

プロゞェクト蚭定

  • [] display/window/size/test_widthずtest_height名前をwindow_widthずwindow_height倉曎する必芁がありたす。 たた、 widthずheight蚭定の名前を倉曎するこずも怜蚎する必芁がありたす。おそらく、 render_widthずrender_heightです。 https://github.com/godotengine/godot/issues/16863#issuecomment -412308210

ファむル圢匏

breaks compat enhancement core tracker

最も参考になるコメント

私には退屈すぎたすが、動詞ずしお䜿甚される堎合、 instanceをinstantiateずしお修正する人にはGodspeedが必芁です。

党おのコメント366件

私には退屈すぎたすが、動詞ずしお䜿甚される堎合、 instanceをinstantiateずしお修正する人にはGodspeedが必芁です。

16116

Sprite.set_regionval-> Sprite.set_region_enabledval
Sprite.is_region-> Sprite.is_region_enabled

TileMap.set_y_sort_modeval-> TileMap.set_y_sort_enabledval
TileMap.is_y_sort_mode_enabled-> TileMap.is_y_sort_enabled

rect_min_size
Control.set_custom_minimum_sizevalue-> Control.set_rect_min_sizevalue
Control.get_custom_minimum_size-> Control.get_rect_min_size

Controlクラスには、さらに倚くのget / setが倉数ず同じ名前である必芁があり、倉数名を知っおいるたびにドックをチェックするのは面倒です。

TileMapクラスには、それぞれのプロパティず䞀臎しない䞀連のgetterメ゜ッドずsetterメ゜ッドがありたす。 実際、そのクラスのほずんどのゲッタヌずセッタヌの名前を倉曎するこずをお勧めしたす。そうすれば、それらは他のクラスの名前ず同様にそれらのプロパティに同意したす。

Animation.track_remove_key_at_positionは
Animation.track_remove_key_at_time

メ゜ッド

  • OS  executeは、ブロッキングず非ブロッキングの2぀の異なる方法に分割する必芁がありたす。
    䟋名前 execute / exec_process ブロックおよびspawn_process 非ブロック19302

LineEditには「text_changed」にパラメヌタnew_textがありたすが、TextEditにはありたせん。

https://github.com/godotengine/godot/blob/master/scene/gui/text_edit.cpp#L6104
https://github.com/godotengine/godot/blob/master/scene/gui/line_edit.cpp#L1466

VBoxContainer / HBoxContainer / GridContainerの名前を単玔なVBox / HBox / Gridに倉曎したいのですが...

そしお、pos-> positionDのように短すぎるため、埌で名前が倉曎されたす。

圌らはあなたが正しいず少し長いです。

Godotは珟圚、メ゜ッド名に2぀の異なる呜名芏則があるこずに気づきたした。

[action][object]()圢匏のようなCやJavaなどの蚀語のAPIに芋られる䞀般的な芏則に埓う堎合がありたす。

  • Mesh.GetBlendShapeName()
  • AnimationPlayer.GetCurrentAnimation()
  • Button.GetButtonIcon()

ただし、他の堎所では、次のような[prefix][action][object]()別の芏則に埓いたす。

  • Mesh.SurfaceGetFormat()
  • AnimationTreePlayer.NodeGetInputCount()
  • CollisionObject.ShapeOwnerGetOwner()

それらは倚くのうちのほんの数䟋です。

将来、互換性を壊すような倧幅な倉曎を行う䜙裕があれば、単䞀の明確に定矩された呜名芏則に埓うように名前を倉曎できるようにしたいず思いたす前者は、Godotの内郚ず倖郚の䞡方でより頻繁に䜿甚されるためです。

ただし、他の堎所では、次のような[prefix][action][object]()別の芏則に埓いたす。

  • Mesh.SurfaceGetFormat()
  • AnimationTreePlayer.NodeGetInputCount()
  • CollisionObject.ShapeOwnerGetOwner()

すべおの䜿甚法を再確認したわけではありたせんが、このスタむルのメ゜ッドの呜名は少し厄介ですが、特定の芏則に埓っおいたす。 たずえば、 shape_owner_getメ゜ッド

doc/classes/CollisionObject.xml
101:            <method name="shape_owner_get_owner" qualifiers="const">
110:            <method name="shape_owner_get_shape" qualifiers="const">
121:            <method name="shape_owner_get_shape_count" qualifiers="const">
130:            <method name="shape_owner_get_shape_index" qualifiers="const">
141:            <method name="shape_owner_get_transform" qualifiers="const">

「プレフィックス」は最初の匕数を指し、 get埌の郚分は、実際にそのプレフィックスで取埗されるものです。 たずえば、 shape_owner_get_shape_index(owner_id, shape_id)は抂念的にはget_shape_owner(owner_id)->get_shape_index(shape_id)に䌌おいたすが、スクリプトAPIに公開されるShapeOwnerないため、この「ショヌトカット」になりたす。

surface_getメ゜ッドに぀いおも同じ話です。

doc/classes/ArrayMesh.xml
88:             <method name="surface_get_array_index_len" qualifiers="const">
97:             <method name="surface_get_array_len" qualifiers="const">
106:            <method name="surface_get_arrays" qualifiers="const">
114:            <method name="surface_get_blend_shape_arrays" qualifiers="const">
122:            <method name="surface_get_format" qualifiers="const">
131:            <method name="surface_get_material" qualifiers="const">
140:            <method name="surface_get_name" qualifiers="const">
148:            <method name="surface_get_primitive_type" qualifiers="const">

doc/classes/VisualServer.xml
2363:           <method name="mesh_surface_get_aabb" qualifiers="const">
2374:           <method name="mesh_surface_get_array" qualifiers="const">
2385:           <method name="mesh_surface_get_array_index_len" qualifiers="const">
2396:           <method name="mesh_surface_get_array_len" qualifiers="const">
2407:           <method name="mesh_surface_get_arrays" qualifiers="const">
2418:           <method name="mesh_surface_get_blend_shape_arrays" qualifiers="const">
2429:           <method name="mesh_surface_get_format" qualifiers="const">
2440:           <method name="mesh_surface_get_index_array" qualifiers="const">
2451:           <method name="mesh_surface_get_material" qualifiers="const">
2462:           <method name="mesh_surface_get_primitive_type" qualifiers="const">
2473:           <method name="mesh_surface_get_skeleton_aabb" qualifiers="const">

たたはATPの*node_getメ゜ッド

doc/classes/AnimationTreePlayer.xml
35:             <method name="animation_node_get_animation" qualifiers="const">
44:             <method name="animation_node_get_master_animation" qualifiers="const">
53:             <method name="animation_node_get_position" qualifiers="const">
109:            <method name="blend2_node_get_amount" qualifiers="const">
146:            <method name="blend3_node_get_amount" qualifiers="const">
172:            <method name="blend4_node_get_amount" qualifiers="const">
225:            <method name="mix_node_get_amount" qualifiers="const">
255:            <method name="node_get_input_count" qualifiers="const">
264:            <method name="node_get_input_source" qualifiers="const">
275:            <method name="node_get_position" qualifiers="const">
284:            <method name="node_get_type" qualifiers="const">
315:            <method name="oneshot_node_get_autorestart_delay" qualifiers="const">
324:            <method name="oneshot_node_get_autorestart_random_delay" qualifiers="const">
333:            <method name="oneshot_node_get_fadein_time" qualifiers="const">
342:            <method name="oneshot_node_get_fadeout_time" qualifiers="const">
478:            <method name="timescale_node_get_scale" qualifiers="const">
523:            <method name="transition_node_get_current" qualifiers="const">
532:            <method name="transition_node_get_input_count" qualifiers="const">
541:            <method name="transition_node_get_xfade_time" qualifiers="const">

これたでに提䟛された提案のほずんどでOPを曎新したした。

VBoxContainer / HBoxContainer / GridContainerの名前を単玔なVBox / HBox / Gridに倉曎したいのですが

私は確信しおいたせん。Godotでは、すべおに明瀺的な名前を付けようずしおいたす。たずえば、 Gridは、それがコンテナであるこずを教えおくれたせん。 VBoxずHBox 、ボックスは定矩䞊コンテナであるず䞻匵できたすが、 Containerず同じではないBoxContainerがあるので、冗長性はただ保蚌されおいたす。

LineEditには「text_changed」にパラメヌタnew_textがありたすが、TextEditにはありたせん。

テキスト゚ディットにnew_textを远加するのtext_changedに含めるべきではないずさえ䞻匵したす。 ただし、新しい文字が抌されたずきに耇数行のテキスト゚ディットの党文を䜿甚するよりも、入力時にラむン゚ディットの党文を䜿甚する方が䞀般的です。

@ akien-mga

すべおの䜿甚法を再確認したわけではありたせんが、このスタむルのメ゜ッドの呜名は少し厄介ですが、特定の芏則に埓っおいたす。

私はそれがそれ自身の呜名芏則であるずいう事実を知っおいたす。 しかし、それでもGodotの倖郚で䞀般的に䜿甚されるものではなく、2぀の異なる呜名芏則に埓うメ゜ッドでBlendShapeような同じ単語が䜿甚されるこずがあるため、少し混乱したす。

個人的には、䞀貫性を保぀ために、それらすべおの名前をGetPrefix*ずSetPrefix*しおもらいたいのですが、他の人がそれに぀いお異なる意芋を持っおいる可胜性がありたす。

メ゜ッドは16757で倉曎されたした。 匕数の順序はより理にかなっおいたすが、3.0ず3.1の間のAPIの互換性が倱われたす19648。

もう䞀床9128を䞊げたす。3Dのtranslation positionず2Dの
3.0より前に育おられたしたが、3.0が出た埌、... 3.0が出たために閉鎖されたした。

OS.executeはposix_spawnを䜿甚する必芁がありたす。

もう1぀は、制埡ノヌドの「マヌゞン」の名前を「オフセット」に倉曎するこずです。
右偎のマヌゞンが負であるため、特にStyleBoxず比范した堎合、これは人々を誀解させたす

@groudオフセットは䞀般的すぎるず思いたすが、最初に導入されたずき、マヌゞンは右偎に負の方向を向いおいなかったため、以前は正しい単語でした。

@groudオフセットは䞀般的すぎるず思いたすが、マヌゞンは良い甚語でしたそしお最初に導入されたずきはマむナスではありたせんでした

さお、マヌゞンはマむナスになっおいるので誀解を招きたす。 オフセットは䞀般的ですが、より理にかなっおいたす。 制埡ノヌドのコンテキストにあるので、それらが䞀般的であるこずは問題ではないず思いたす。
ずにかく、私はより良い提案を受け入れおいたす。 このようなプロパティ名の倉曎はすでに提案されおいるので、このアむデアをここにドロップしたかっただけです。 たずえば、ここを参照しおください。

ボックス/キュヌブのサむズに䞀貫性のない名前が付けられおいたす。
衝突のBoxShapeぱクステントを䜿甚したす。
CubeMeshには、それぞれ゚クステントの半分であるx、y、zのサむズプロパティがありたす。
CSGBoxには、CubeMeshのx、y、zサむズのように定矩されたWidth、Height、およびDepthプロパティがありたす。

sizeプロパティに加えお、「Cube」が䜿甚されるこずもあれば、「Box」が䜿甚されるこずもありたす。 CubeMeshのx、y、zは個別に蚭定でき、ボックスでもあるため、すべおに「ボックス」を䜿甚するのが理にかなっおいたす。

たずえば、タヌゲットずしおHTML5ずUWPがありたすが、これらは正確にはオペレヌティングシステムではないため、OSの名前をPlatformPlatformWindows、PlatformUnixなどに倉曎するこずを提案したす。
OS /ディスプレむの分割でも意味がありたす。

この20228から、 Label.clip_textはもう必芁ありたせん。 Button.clip_textでも同じだず思いたす。

Camera2Dには珟圚、2぀の異なるプロパティがありたす。どちらもoffset 通垞のオフセットずVずHに分割されたものずいう名前で、たったく異なる2぀のプロパティです。これは非垞に玛らわしいこずです。

メ゜ッド

- Dictionary  erase_checkedを削陀する必芁がありたすこのメ゜ッドはスクリプトに公開されおいたせん。
- Dictionary  eraseを倉曎しお、指定されたキヌを持぀ペアが削陀されたかどうかを刀断するためにboolを返すようにする必芁がありたす erase_checked実装を参照。

20945

@neikeqこれはIMOで実行できるようになりたした。 Dictionary.eraseの戻り倀をvoidからboolも、プロゞェクトが䞭断するこずはありたせん。

@ akien-mgaですが、GDNativeAPIの互換性が損なわれたすね。

@ akien-mgaそれは互換性を壊したせんか 3.0などの叀いバヌゞョンで3.1スクリプトが機胜しない可胜性のある倉曎を加えるこずはできたすか

@neikeqはい、3.1スクリプトはすでに3.0ず互換性がありたせん class_name 、新しいオプションのパラメヌタヌたたは新しいプロパティ/メ゜ッド、新しいクラスなどによる倧量のAPI倉曎。 䞋䜍互換性のみを考慮し、前方互換性は考慮したせん。

ああなるほど その堎合は、これらの倉曎を今すぐ行いたす。

リストに1぀远加できれば、LineEditコントロヌルノヌドずTextEditコントロヌルノヌドは、ほずんど互換的に䜿甚できるように、盞互に䞀貫したAPIを䜿甚するこずで本圓にメリットがありたす。 今のずころ、それらを䞀緒に操䜜しようずするず混乱しおいるように感じたす。䞀方のノヌドを芋るず、もう䞀方のノヌドに぀いお混乱するほどです。

@ eska014さらに、 sconsオプションはすでにplatformです。 䞀貫しおいるこずは理にかなっおいたす。

プロゞェクト蚭定display/window/size/test_widthおよびtest_heightは、名前をwindow_widthおよびwindow_height倉曎する必芁がありたす。 たた、 widthずheight蚭定の名前を倉曎するこずも怜蚎する必芁がありたす。おそらく、 render_widthずrender_heightです。

カメラのnearプロパティずfarプロパティの名前は、setter / getterずは異なりたす䟋set_znear / set_zfar。 これを倉曎する必芁がありたすか

znearずzfarは玛らわしいです。 ワヌルドスペヌスのZ軞ずは䜕の関係もありたせん。 クリッピングプレヌンを制埡するため、 clip_nearずclip_farに倉曎するこずも、 nearずfarだけに倉曎するこずもできたす。

ええ、この問題を解決するには2぀の方法がありたす。

バむナリリ゜ヌス拡匵を取り陀くたたは真剣に議論する必芁がありたす。RES_BASE_EXTENSION

gdscript_function.cppずgdscript_functions.cppは非垞によく䌌た名前ですが、私はそれらを混同し続けおいたす。 名前を倉曎する䟡倀はありたすか @vnen

https://github.com/godotengine/godot/pull/21425を倉曎しお、「decimals」の名前を「step_decimals」に倉曎したしたが、゚むリアスずしお「decimals」を保持しおいたす。 マヌゞされたず仮定するず、次の互換性の砎損で「10進数」を削陀できたすが、そうでない堎合は、名前を倉曎するだけです。

@mysticfall私の意芋では、䞍芁な堎合はメ゜ッド名に「get」ずいう単語を含めない方がよいず思いたす。

プロパティを取埗ず蚭定の䞡方にできるようにしたいが、アクセスを制埡したい堎合がありたす。 Cでは、プロパティを䜿甚するず、フィヌルドであるかのように読み取りず割り圓おを行うだけで、これを実行しおアクセスを制埡できたす。これはすばらしいこずです。

 var thing = CollisionObject.ShapeOwner;
 CollisionObject.ShapeOwner = thing;

ただし、GDScriptでは、プロパティは重芁ではありたせん。 getずいう単語なしでメ゜ッド名を付けるこずもできたす。 ほずんどのメ゜ッドは䜕かを返すので、set-nessよりも暗黙的なget-nessを䜿甚する方が適切です。GDScriptにはプロパティがあるため、より頻繁に䜿甚するこずをお勧めしたす。 これに関するドキュメントが芋぀からなかったこずに泚意しおください。 setgetを䜿甚しおGDScript内でそれを行う方法に関するドキュメントを芋぀けたしたが、C ++を介しお远加するのはどうですか

䞀蚀で蚀えば、䞀貫性のない堎所に「get」を配眮するのは良くないこずに同意したすが、私の意芋では、GDScriptプロパティは実際には䞍可胜です。たたは、「get」を削陀しお「set」を維持するこずもできたす。 。

@aaronfranke GDScriptには、ある意味でプロパティがありたす。これは、゚ンゞンクラスがゲッタヌずセッタヌたたはゲッタヌのみを定矩し、GDScriptにプロパティずしお公開できるためです。 ずはいえ、1名前が明確になり、2ゲッタヌずセッタヌが区別されるため、メ゜ッドからgetずsetを削陀するこずには反察です。 たずえば、 Mesh.SurfaceFormat()は「衚面をフォヌマットする」メ゜ッドのように聞こえたすが、「フォヌマットを取埗する」メ゜ッドではありたせん。 たた、それらのほずんどすべおではないにしおもは無芖しお、ずにかく代わりにプロパティずしお䜿甚できたす。

さお、私はgdscript_function.cppずgdscript_functions.cppに぀いおはそれほど気にしたせん。 1぀にはGDScriptFunctionクラスがあり、もう1぀にはGDScript関数の定矩が含たれおいたすが、どちらがどちらであるかは垞にわかりたす私はそれに慣れおいたすが。 たた、これは重倧な倉曎ではないため、ここにある必芁はありたせん。

はい、GDScriptにはプロパティがありたす。 Cプロパティは、GDScriptが取埗するClassDBから生成されたす。

RigidBodyはいく぀かのメ゜ッドがあり、䞀貫性を保぀ためにパラメヌタヌを亀換する必芁がある関連クラスは次のずおりです。

  • RigidBody.add_force(force, position)からadd_force(position, force)
  • PhysicsDirectBodyState.add_force(force, position)からadd_force(position, force)
  • PhysicsServer.body_add_force(force, position)からadd_force(position, force)

クラスずメ゜ッドのリスト

@TGRCdev add_forceをposition、forceに倉曎するよりも、 apply_impulseをforce、positionに倉曎する方がはるかに奜きです。 力の䜍眮はオプションのパラメヌタなので、最埌に配眮する必芁がありたす。 ただし、すべおの力ずむンパルスには力ベクトルが必芁です。

@aaronfrankeフェアポむント。 その堎合、必芁なスワップのリストは次のずおりです。

  • RigidBody.apply_impulse(position, impulse)からapply_impulse(impulse, position)
  • RigidBody2D.add_force(position, force)からadd_force(force, position)
  • RigidBody2D.apply_impulse(position, impulse)からapply_impulse(impulse, position)
  • PhysicsDirectBodyState.apply_impulse(position, impulse)からapply_impulse(impulse, position)
  • Physics2DDirectBodyState.add_force(position, force)からadd_force(force, position)
  • Physics2DDirectBodyState.apply_impulse(position, impulse)からapply_impulse(impulse, position)
  • PhysicsServer.body_apply_impulse(position, impulse)からbody_apply_impulse(impulse, position)
  • Physics2DServer.body_add_force(position, force)からbody_add_force(force, position)
  • Physics2DServer.body_apply_impulse(position, impulse)からbody_apply_impulse(impulse, position)

@aaronfranke Get-たたはSet-プレフィックスの䜿甚は、Cでは避ける方がよい「Javaism」のようなものであるこずに同意したす。

私の䞻な関心事は、 shape_owner_get_shapeやnode_get_input_countような堎合のように、「ドメむンプレフィックス」の䜿甚Get-やSet-なしで適切なCプロパティずしお再実装できる堎合

ちなみに、GodotのCAPIのプロパティに、たずえばNode.NameずNode.GetName() / Node.SetName()ように、䞀臎するゲッタヌずセッタヌのセットがあるのはかなり奇劙だずい぀も思っおいたした。

それは私にはかなり冗長に感じたすが、私たちがそのような慣習を守る理由があれば、私たちがそうであれば、ずにかくNodeInputCountずGetNodeInputCount() / SetNodeInputCount()䞡方を埗るず思いたす提案どおりにnode_get_input_count名前を倉曎したす。

皆さん、Godot APIに焊点を圓おた、この問題以倖のCAPIず通垞の芏則に぀いお議論を続けおください。 Godot APIC ++、C、およびGDScriptは、他の蚀語の改善でもない限り、Cのために適応されたせん。

@ akien-mga node_get_input_count get_node_input_countような名前に倉曎できるかどうかを議論するのは、C固有のこずではないず思いたす。

いいえ、C固有のものはこの問題に含たれるべきではないずいう意味です。 必芁に応じお、C固有の互換性の砎損に぀いお別の問題が発生する可胜性がありたすただし、これらのIINMはすでにいく぀かありたす。

Spatialの名前をNode3Dに倉曎するのはどうですか 私はい぀もそれが倉だず思った。

@KoBeWi Godotが珟圚䜿甚しおいる呜名スキヌムは、2Dのものには「Thing2D」、3Dのものには「Thing」だけなので、他の2Dコヌドずかなり䞀貫しおいたす。 もちろん、「空間」ず呌ぶ論理的なものは、「2D」を削陀するパタヌンに埓った「ノヌド」ですが、その名前はもちろんすでに䜿甚されおいたす。

Godotが珟圚䜿甚しおいる呜名スキヌムは、2Dのものには「Thing2D」、3Dのものには「Thing」です。

では、すべおの3Dを「Thing3D」に倉曎するのではないでしょうか。 それも頭をよぎったが、やり過ぎのようだ。
ずにかく、私はちょうど提案したした。 それが非垞に重芁であるようではありたせん。 たた、Spatial2DはSpatialよりもさらに悪いです。

したがっお、String.rightは、指定された䜍眮からn個の右文字を返したす。 右から数えおn文字しか返されない方が盎感的ではないでしょうか。

"abcdef".right(2)
「cdef」の代わりに「ef」を返したす。 IMOそれはより良いでしょう。

私は同じこずを期埅しおいたした。

Pythonには、ほずんどのナヌザヌがGDScriptをPythonず比范するのず同じ方法がありたす。 それはおそらくそれをさらに倉えるこずを混乱させるでしょう。

@KoBeWi同意したす。 珟圚の実装ずサブストリングの違いはわかりたせん。

Godot substrは、右偎にすべおを衚瀺したい堎合は、文字列のサむズを指定するように匷制したす。

@Zylannほずんどの実装では、2番目のパラメヌタヌを省略できたす。 これはGodot偎の問題だず思いたす。 その䞊、私はsubstr 、別の名前の新しいメ゜ッドよりも2番目のパラメヌタヌをオプションにするようにしおいたす。

@Zylann @neikeqこれは、オヌバヌロヌドできないメ゜ッドがあるこずの䞍幞な結果です。長さの指定ず長さの指定の䞡方を持぀方法は

@aaronfrankeええず、しかしデフォルトの匕数は存圚したす。 0たたは-1は、長さが指定されおいないものずしおカりントされる可胜性がありたす。

削陀する必芁がget_selected_id()からOptionButton珟圚、それは垞に-1を返したす。 https://github.com/godotengine/godot/pull/21837がマヌゞされた埌、 get_selected_id()はget_selected()ず同じものを返したす。

毎回trueを返すトゥむヌンメ゜ッドはたくさんありたすが、おそらく無効にする必芁がありたす。

WindowDialog.get_close_button
ConfirmationDialog.get_cancel-> ConfirmationDialog.get_cancel_button
AcceptDialog.get_ok-> AcceptDialog.get_ok_button

Treeノヌドにはget_selected()関数があり、フォヌカスされたTreeItemを返すようです。 フォヌカスず遞択は異なるため、名前をget_active()ような名前に倉曎する䟡倀があるかもしれたせん。

InputMapのload_from_globals()はload_from_project_settings()必芁がありたす。

OPに統合されたすべおの提案にtadaリアクションを远加しお、より良い抂芁を瀺したす。

䞀貫性を保ち、すべおのrotateメ゜ッドが「rotate」で始たるように、 global_rotate名前をrotate_global 、 rotate_object_local名前をrotate_local倉曎する必芁がありたす。

䞀貫性を保ち、すべおのrotateメ゜ッドが「rotate」で始たるように、global_rotateの名前をrotate_globalに倉曎し、rotate_object_localの名前をrotate_localに倉曎する必芁がありたす。

䞀方、オヌトコンプリヌトの提案では、グロヌバル関連の関数global_position、global_scale、global_transformなどが隣り合っおいるのが奜きです。 どちらの゜リュヌションも私芋に意味がありたす。

tree_exiting名前をtree_exited倉曎するこずもできたす。これは、今では混乱を招いおいるようです。 22840を参照しおください。

@groudすでにtree_exited信号がありたすよね

@groudすでにtree_exitedシグナルがありたすよね

くそヌあなたは正しい。 22840のリク゚ストは有効だず思いたす

MenuItems.MENU_MAXはLineEditずTextEditで䜿甚されるこずはありたせんが、削陀する必芁がありたすか

Tabs.ALIGN_MAXに぀いおも同じhttps://github.com/godotengine/godot/blob/master/scene/gui/tabs.cpp#L750

Position3D Position2DノヌドずPositionHintずPositionHint2Dか、 Gizmoような他の単語に倉曎する必芁がありたす。これは、゚ディタヌのみのギズモであるため、たたはAxisMarkerように芋えるためです。小さな軞マヌカヌ。

それらの名前がGizmo倉曎された堎合、おそらくより䞀般的な甚途が䞎えられる可胜性がありたす。

コントロヌルツリヌの同じノヌドはReferenceRectであるため、 ReferenceAxis/2D可胜性があるこずに泚意しおください。

今この問題を愛しおいたす。 埌で砎損が​​実際に発生したずきにそれを嫌う可胜性がありたす;

謙虚なArrayクラスのいく぀かの提案

  • duplicate → copyたたはcloneいずれか。 この抂念を「耇補」ず呌ぶ蚀語はありたせん。 copyはPythonずC ++で呌ばれおいるので、Godotにずっお自然な遞択です。 cloneはJavaずJavaScriptからのものであり、おそらくもう少し正確です。
  • invert → reverse 。 ドキュメントはそれを「逆」ずさえ説明しおいるので、本圓に蚀い蚳はありたせん。
  • removeずeraseは玛らわしいです。 提案 remove_atおよびremove_value 。

最埌の2぀は、すべおのPool*Arrayクラスにも適甚されたす。

泚耇補→コピヌ/クロヌンは蟞曞にも適甚されたす。

Rect2 

  • clip → intersection

AABBはintersectionメ゜ッドがありたすが、 clipはありたせん。クリッピングは通垞、どちらのクラスにも実装されおいない䜕かを切り取るこずを意味したす。 ドキュメントでは、次のように説明されおいたす。

Returns the intersection of this Rect2 and b.

名前を倉曎するこずもできたす

  • intersects → overlaps
    実際のintersection操䜜ず混同しないように
Returns true if the Rect2 overlaps with another.

grabber_area -> slider_progress
slider -> slider_background

image

謙虚な配列クラスのいく぀かの提案
耇補→コピヌたたはクロヌン。
..。
泚耇補→コピヌ/クロヌンは蟞曞にも適甚されたす。

およびノヌ​​ドずリ゜ヌス基本的に、スクリプトで公開されたデヌタ構造オブゞェクト、afaik。

私は「クロヌン」ずいう蚀葉が奜きです、それが䜕をするのかに぀いおもっず明確だず思いたす。

朝 @ akien-mga instance名前をnewではなくinstantiateか たずえば、 PackedSceneにObjectず同じむンタヌフェむスを䜿甚するず、プラグむン䜜成の定型文が削陀されたすが、おそらくより䞀般的です。 @willnationsdevどう思いたすか 私はあなたが以前にこれに遭遇したこずを知っおいたす。

申し蚳ありたせんが、これに぀いおの話がどこかですでにある堎合、私はそれをざっず芋お芋぀けるこずができたせんでした。

grabber_area -> slider_progress
slider -> slider_background

image

あるいは単に
grabber_area -> progress
slider -> background 

これが議論されおいるかどうかはわかりたせんが、 AnimationPlayerはroot_nodeずset_root  get_root 、おそらくset/get_root_nodeはずです。

CanvasItem.visible名前をCanvasItem.is_visible およびそれが䜿甚されおいる他のすべおの堎所に倉曎したすか すべおのたたはほずんどの、おそらく私はいく぀かを逃した boolプロパティず䞀臎するために

Tween.tween_completed名前をTween.tween_finishedたすか Animation.animation_finished  䞀般的に_completedよりも_finishedを奜む started/finishedはstarted/completedよりも緊密な関係にあるように感じたす-競技スポヌツからのバむアス start/finish -倚分D

クラスの名前をJavaScriptからHTML5などに倉曎するこずを怜蚎しおください。
このクラスには単䞀のメ゜ッドがあり、 Scriptから拡匵されおおらず、他のプラットフォヌムでは䜿甚されおいたせん。

JavaScriptは、将来的にJavaScript蚀語バむンディングのクラス名ずしお䜿甚できたす。

@clayjohnが指摘しおいるWORLD_MATRIXは、実際にはモデルビュヌマトリックスです。 @reduzは、4.0では、実際のモデルずビュヌのマトリックス、たずえばCANVAS_MATRIXずITEM_MATRIX眮き換える必芁があるこずに同意したす。

名前の倉曎を怜蚎Array.invertするArray.reverse 。 反転は、逆さたたたは「逆数」タむプのものに䌌おいたす。 https://docs.godotengine.org/en/latest/classes/class_color.html#class-color-method-invertedを参照しお

CanvasItem.visibility_changed()シグナルをCanvasItem.visibility_changed(visibility: bool)に倉曎したす。 可芖性ステヌタスを䞀緒に送信したす。 これで十分なので、 CanvasItem.hide()信号を削陀したす

Resource::notify_change_to_owners 、 Resource::{un}register_owner削陀したす。
これらはGridMapずCollisionShapeでのみ䜿甚され、残りのコヌドは"changed"シグナルを䜿甚したす。

Rect2  has_no_area名前をhas_area倉曎する必芁がありたす。これにより、条件付きで二重吊定ロゞックが反察をチェックするのを防ぐこずができたす。 同じこずがAABB  has_no_surface圓おはたりたす。

@lupoDharkaelが蚀ったこずに

parse_input_eventInputEvent event
InputEventをゲヌムにフィヌドしたす。 コヌドから入力むベントを人為的にトリガヌするために䜿甚できたす。

解析は誀解を招く可胜性があり、解析は受信ず凊理になりたすが、説明は入力の送信たたはトリガヌを瀺しおいたす

24153のずおり- CanvasLayerは、レむダヌを䜿甚しお、ノヌドを描画するレむダヌを蚘述したす。 しかし、他のほがすべおの2Dノヌドは、「Zむンデックス」 z_index ずいう甚語を䜿甚しお、同じこず最初は䜕であるかを説明したす。 @swarnimarunが提案したように、 https //github.com/godotengine/godot/issues/24153#issuecomment-444950584レむダヌの名前を改善したす。

OS.has_feature/ Platform.has_featureは、OSに぀いお䜕も䌝えおいないので、ProjectSettingsのようなものでより賢明でしょうか

set_cell_itemの名前をset_cellに倉曎しお、GridMapをTileMapず統合できたすか

set_cell_itemの名前をset_cellに倉曎しお、GridMapをTileMapず統合できたすか

考えおみるず、GridMapsにもset_cellvがあるはずですか

ARVRInterface

  • ar_is_anchor_detection_enabled -> anchor_detectionたたは同様のもの
  • interface_is_initialized -> is_initializedたたはis_interface_initialized

AnimationPlayer

  • play_backwards playにはオプションのブヌル倀があるため、 play_backwardsは削陀できたす。

BaseButton / CollisionShape / CollisionPolygon / CollisionShape2D / CollisionPolygon2D

  • disabledブヌル倀をenabledブヌル倀に倉曎したす。

Bone2​​D

  • get_index_in_skeleton -> get_skeleton_index
  • play_backwards playにはオプションのブヌル倀があるため、 play_backwardsは削陀できたす。

少なくずも6866が実装されおいない限り、これは読みやすさにずっおは悪いこずです。 名前付きパラメヌタヌをサポヌトしおいるため、Cでは問題ありたせん。

id_pressed( int ID )およびid_focused( int ID ) IDは小文字である必芁がありたす。

^
その倉曎は実際には互換性を損なうこずはありたせん。 おそらく別の問題が発生する可胜性がありたす。

^
その倉曎は実際には互換性を損なうこずはありたせん。 おそらく別の問題が発生する可胜性がありたす。

それは正しい

28746- Node.replace_byは名前ずしお混乱する可胜性がありたす。 しかし、正確に䜕がより良い名前であるかはわかりたせん。

@ bojidar-bg倚分replace_selfたたはswap_by  しかし、混乱を避ける唯䞀の方法は、それを適切に文曞化するこずだず思いたす。

私が持っおいる堎合はNode2Dが含たれ添付のスクリプトでclass_name MyNode2D 、 get_class()メ゜ッドが返すNode2Dの代わりにMyNode2D 。 これは意図的なものかもしれたせんが、混乱を招き、誀解を招く恐れがありたす。

線集 https 

@aaronfranke get_native_class()倚分 次に、スクリプト名があれば、 get_script().global_nameから取埗できたす。

make_convex_from_brothers()
「兄匟」は「兄匟」に倉曎する必芁があるず思いたす。これは、兄匟ノヌドのあらゆる堎所で䜿甚されおいる単語です。

ARVRPositionalTracker get_type() -> get_tracker_type()

  • get_tracker_type()はより明確です- get_type()はget_class()ず混同される可胜性がありたす

  • GetType()は、ここに蚘茉されおたす。

これは、戻りTrackerType 、たたあるget_hand()その戻りTrackerHand぀たりも倉曎するこずができるように、 get_tracker_hand()所望であれば、敎合性のために。

ARVRPositionalTracker列挙型TrackerHand TRACKER_LEFT_HAND -> TRACKER_HAND_LEFT および右手。 たたは、䞀貫しおいる限り、 TRACKER_HAND_UNKNOWN -> TRACKER_UNKNOWN_HAND 。

Node.NOTIFICATION_TRANSLATION_CHANGEDはおそらくNOTIFICATION_LOCALE_CHANGEDになるはずです。これは、空間ノヌドで「翻蚳」が「蚀語」ではなく「䜍眮」を意味するために䜿甚されるためです。

set_as_toplevel()はset_as_top_level()に名前を倉曎できたすが、その動䜜を確認する必芁がありたす。

この倉曎は壊れおいる可胜性があるため、TouchScreenButtonは4.0で確認する必芁がありたす https 

CanvasItemメ゜ッド

RID get_canvas_itemconst
VisualServerがこのアむテムに䜿甚するキャンバスアむテムのRIDを返したす。

その埌、名前をget_rid()倉曎する必芁がありたす。

get_canvas_item()は、すでにCanvasItemノヌドにいるため、混乱を招きたす。 たた、他のクラスにも同様のget_rid()メ゜ッドがすでにあるため、䞀貫性が保蚌されたす CollisionObject 、 Resource 。

LabelをTextLabel倉曎する必芁がありたすか 䜕床かテキストオブゞェクトを眮きたいず思っおいたので、それが䜕ず呌ばれおいたかを忘れたので、「テキスト」を怜玢するず、 RichTextLabel衚瀺されたす。 TextLabelはRichTextLabelずより䞀貫性がありたす。これは、テキストのたたですが、リッチがないためです。

参考たでに、UnityにはTextずTextMeshがあり、私は個人的にラベルではなくテキストず呌んでいたす。

たた、 TreeずGraphNode名前がTreeViewずGraphEditNodeに倉曎されるのではないかず思っおいたした。
Tree堎合、その理由は、グロヌバルGUIノヌドIMOの名前が広すぎるためです。私が知っおいる他のすべおのGUIフレヌムワヌクはTreeViewたす。
GraphNode堎合、最近実際のグラフ構造を含むいく぀かのプロトタむプに取り組んだため、 NodeもGraphNodeも䜿甚できず、非垞に面倒でした。

@Zylannグラフノヌドはツリヌではなくグラフのビゞュアル/コントロヌルであるため、GraphContainerの方が適しおいる堎合がありたす。 GraphNodeに぀いおはよくわかりたせん。

lerpc代わりにColor/Vector2/3.linear_interpolate lerpf / lerpv / lerpc Color/Vector2/3.linear_interpolateですか 少なくずもColor/Vector2/3.linear_interpolate名前をColor/Vector2/3.lerp

29598で述べたようにhttp_escape / http_unescapeからuri_encode / uri_decode

Vector2/3.linear_interpolate代わりにlerpfずlerpv Vector2/3.linear_interpolateですか 少なくずもVector2/3.linear_interpolate名前をVector2/3.lerp

vector.lerpぞの短瞮は良いですね。 少なくずもhttps://github.com/godotengine/godot/pull/16106の時点で、スクリプトでのlerp()には、ベクトルず色をサポヌトするためのスむッチがありたす。

Vector2.angle_to_point()名前を倉曎する必芁がありたす。 その名前は珟圚の説明ず䞀臎しおいたせん。 良い名前が䜕であるか、そしおこの関数が維持する䟡倀があるかどうかわからない。

元の問題16307

@ razcore-artこのhttps://github.com/godotengine/godot/pull/20371に぀いおはすでにPRが公開されおおり、䞋䜍互換性が保たれおいたす私は思いたす。

線集もうしたせん。

Areaは、3Dであるため、実際にはVolumeである必芁がありたす。 そしお、 Area2DはAreaたす。 ゚リアは本質的に2Dです。

GridMapはおそらくCubeMapたす。 これに぀いおはよくわかりたせんが、その「グリッド」は私には2Dのように聞こえたす。

CheckButtonコントロヌルはSwitchButtonか䜕かである必芁がありたす。 Checkboxもあるので、混乱したす。 たたは、完党に削陀する必芁があるかもしれたせん。 私の知る限り、それはずにかくチェックボックスず同じ機胜を果たしたす。

私はreCheckButtonに同意したす、そしお他のものは単なる衚面的なものです。

たたは、完党に削陀する必芁があるかもしれたせん。 私の知る限り、それはずにかくチェックボックスず同じ機胜を果たしたす。

UXに関しおは、チェックボックスずチェックボタンは同じ機胜を持っおいるにもかかわらず、異なるものです。
https://uxmovement.com/buttons/when-to-use-a-switch-or-checkbox/

@ Rodeo-McCabe Areaは、2Dの察応物ずの䞀貫性を保぀ためにそのように呌ばれ、 areaの定矩の1぀もa particular extent of space or surfaceです。
キュヌブマップは3D画像であり、構文の正確さはコンテキストに基づいおいる必芁がありたす。そうしないず、混乱が生じたす。

grabber_area -> slider_progress
slider -> slider_background
image

あるいは単に
grabber_area -> progress
slider -> background 

倚分
grabber_area -> progress_areaたたはprogressed_area
slider -> progress_background 

キュヌブマップは3D画像であり、構文の正確さはコンテキストに基づいおいる必芁がありたす。そうしないず、混乱が生じたす。

@ eon-sたあたあ、私はそれを知りたせんでした。

゚リアは、2Dの察応物ずの䞀貫性のためにそのように呌ばれたす

問題は、2Dの察応物にも䞀貫性がないこずです。 数孊では、面積は長さ*高さであり、3次元はありたせん。 したがっお、Area2Dず蚀っおも意味がありたせん。これは、゚リアであるために2Dである必芁があるためです。 「面積」のもう1぀のより数孊的な定矩は、次のずおりです。

䞀連の線に含たれるサヌフェス、具䜓的には、サヌフェスず枬定倀が等しい単䜍正方圢の数

同様に、数孊の3D空間は「ボリュヌム」ず呌ばれたす。 Areaが実際には3Dノヌドであるこずに気付いたずき、最初は混乱したした。代わりに、Areaは奇劙なこずに「Area2D」ず呌ばれおいたした。 これはゲヌム゚ンゞンであるため、数孊の定矩を採甚する必芁がありたす。

その理由は理解できたすが、特に新しい人にずっお、名前を倉曎するこずに特別なメリットがあるかどうかはわかりたせん。 これには「ボリュヌム」の方が適切な甚語かもしれたせんが、3Dの堎合は「ボリュヌム」、2Dの堎合は「゚リア」を䜿甚するず少し混乱するかもしれたせん。 結局のずころ、2Dず3Dの䞡方のバリアントを持぀倚くのノヌドには「

そもそもネヌミングスキヌムが存圚するずいうこずはほずんどの堎合スキヌムに固執するノヌドもあるのず同じくらい、あるバリアントの別の甚語で䟋倖が発生する堎合でも、ルヌルに䟋倖がないこずを意味するず思いたす。そうしないず、ナヌザヌを混乱させる可胜性がありたす。

ただし、可胜であれば...おそらくArea2D名前をAreaに倉曎し、 Area名前をArea3Dたすか

線集<>を゚スケヌプしない限り、<>で囲たれたテキストは衚瀺されないようです

@ Rodeo-McCabeノヌドの呜名の意図は、数孊ではなく人間の蚀語で物事を衚珟するこずであるずいう印象を受けたす。 したがっお、「゚リア」は幟䜕孊的なものではなく、レベルやステヌゞの内郚のような堎所を意味したす。 IE-゚リア1。

ノヌド自䜓は盎接ゞオメトリを持たないか、それ自䜓がゞオメトリであるため、私のような他の人は、ノヌドを䜜成するずきにその領域/ボリュヌムがどこにあるのか疑問に思いたす。それでは、なぜ領域ずボリュヌム圢状を領域にアタッチする必芁があるのでしょうか。音量

幟䜕孊的な領域ず混同しないように名前を倉曎する堎合は、同矩語が最適です。

それらは呌ばれるかもしれたせん

  • Region2D / 3D
  • Space2D / 3D
  • Zone2D / 3D
  • Field2D / 3D
  • NS。

ずころで、このトラッカヌはメ゜ッド、プロパティ、シグナルノヌドではない専甚であるこずに@ reduzは最近、4.0での互換性の砎損を最小限に抑える意図があるず述べたため、远加を続ける前に、おそらくこの膚倧なリストをコア開発者からのレビュヌが必芁になる可胜性がありたす物事は終末...

目暙は今のたたにしおおくこずだず思われるので、このようなものは4.0以降の次のメゞャヌバヌゞョンたでキックバックされる可胜性がありたすか

この問題は䞻芁な貢献者に任せおください。あちこちで倧きな名前の倉曎を提案する堎所ではありたせん。目的は、APIを煩わしくする実際の䞍敎合を修正するこずです。

OPで抂説されおいる倉曎は、倧きな互換性の砎損ではなく、ほずんどが4.0で行われたす。 @ reduzが蚀及しおいるのは、2.1から3.0の間の「プロゞェクトをもう開くこずができない」皮類の互換性の砎損ですもっずたくさんオヌディオずパヌティクルシステムが完党に曞き盎されたり、むンポヌトシステムが倉曎されたりするなど、圓時の名前が倉曎されただけではありたせん。

4.0では互換性が損なわれる可胜性がありたす。そうでない堎合、4.0ずは呌ばれたせん。 シヌンやスクリプトで䜿甚する堎合、名前が倉曎されたプロパティ、メ゜ッド、およびシグナルが適切に倉換されるようにするためのコンバヌタヌを䜿甚するず、合理的で移怍が容易になりたす。 ずにかくそれを議論する堎所ではありたせん:)

Controlの_set_anchor()も、先頭の「_」を削陀する必芁がありたす。

PopupMenuにはindex_pressed(index)ずid_pressed(id)あり、これらは正垞に機胜したすが、アむテムのIDではなくむンデックスで実際に発行されるid_focusedありたす。

これに぀いおはただ問題はありたせんが、今日Akienに提案した埌、リストに茉せる䟡倀がありたす。

XRServerず呌ばれるようにARVRServerをリファクタリングしたす。 XRずいう甚語を蚭蚈したずき、VRずARの䞡方がただ広く䜿甚されおいないこずを瀺しおいたす。 いいえ、MRServerには行きたせん;

RayCastには「有効」ではなく「無効」プロパティが必芁ですか CollisionShapeには、デフォルトでfalse 「無効」がありたす぀たり、デフォルトで有効になっおいたす。 察照的に、RayCastの「有効」プロパティはデフォルトでfalse 、デフォルトで無効になっおいたす。

たたは、ポゞティブフォヌム党䜓的に混乱が少ないず思いたすを䜿甚するには、CollisionShapeに「Disabled」ではなく「Enabled」プロパティデフォルトではtrueを蚭定する必芁がありたすか

@Calinou別の問題が必芁かどうかは保぀必芁がある堎合は、そのようなブヌル倀を垞にEnabledするこずをお勧めしたす。 ブヌル倀をtrueに蚭定しお䜕かを無効にするず、混乱するこずがよくありたす。

@Calinou @Zylannの二重吊定は混乱を招くため、可胜な限り避ける必芁があるこずに同意したす。 代わりに、「無効」のブヌルを「有効」のブヌルに倉曎する必芁がありたす。 䜕かのデフォルト倀が「true」であれば問題ありたせん。 私は17212ず21822でこの議論をしたした。

マりスおよびタッチ入力むベントのspeedプロパティは、Vector2であるため、名前をvelocity倉曎する必芁がありたす。

InputMap  get_action_list( String action )関数名は、その機胜に぀いおあたり説明しおいたせん。
特定のアクションに関連付けられたEventInputsを返すため、 get_action_events(String action)なる可胜性がありたす

たた、 InputMapはget_actions( )ずいう別の関数があり、䞡方の名前が文脈から倖れお同じこずを意味する可胜性があるため、混乱を避けるのに圹立ちたす。

30736に正盎に関連しおいるので、2぀のGodot物理゚ンゞンの名前を「GodotPhysics2D」や「GodotPhysics3D」などに倉曎する必芁がありたす。

Object._init()名前をObject._new()どうですか

get — _get
get_property_list — _get_property_list
notification — _notification
set — _set

new — _init

_init実際にはPythonの__init__ _initに埓っおいるず思いたすが、 newはむンスタンスではなく、クラスのメ゜ッドです。

String  empty() -> is_empty()のようなものは、このスレッドに適しおいたすか 最初は文字列をクリアする機胜だずい぀も思っおいたす。

@vortexofdoomメ゜ッド名の䞍敎合や名前の

StringずNodePathには、それぞれ同じこずを行うemptyずis_emptyメ゜ッドがあるこずを远加できたす。 残りのコア組み蟌み型はempty名前を奜むようです。したがっお、 is_empty名前をNodePathしお、すべおの組み蟌み型で䞀貫性を持たせるこずができたす。深刻な互換性の砎損を䌎う可胜性があるず思いたす。

最初は文字列をクリアする機胜だずい぀も思っおいたす。

ほずんどのメ゜ッドは、そのためにGodotでclear名前を䜿甚したす。

@Xrayez 、

ほずんどのメ゜ッドは、そのためにGodotで明確な名前を䜿甚したす。

emptyは圢容詞であるず同時に動詞でもあるずいう事実を参照するだけで、 is_を远加するず、どちらが意味するのかが明確になりたす。

そのブヌル倀のすべおの組み蟌みでis_emptyを䜿甚するこずに賛成です。

Godot 3.0および3.1では、CにSetメ゜ッドがありたした。 ただし、これらは実際にはコンストラクタヌず割り圓おを䜿甚する堎合ず比范しお実際の機胜を远加したせんでしたが、コヌドがサむレントに倱敗するこずを蚱可したため、廃止されたした。 Quatのメ゜ッドはすでに存圚しおいたため、これらは䞀貫性を保぀ために私が远加したものがほずんどでした。これは、メ゜ッドが蚭定されたコアからのものでした。 詳现に぀いおは、30744を参照しおください

GDScriptにはset_eulerずset_axis_angleがありたすが、同じこずを行うためのコンストラクタヌもありたす q.set_axis_angle(myvec3, myval)はq = Quat(myvec3, myval)眮き換えるこずができたす。コアにもこれらのメ゜ッドがありたすベヌシス甚ですが、GDScriptには公開されおいたせん。

問題は、これに぀いお䜕をすべきかずいうこずです。 Quat setメ゜ッドは、コンストラクタヌを優先しお非掚奚にし、Cずの䞀貫性を保぀必芁がありたすか、それずも実行䞭の操䜜に぀いお明瀺的に保぀䟡倀がありたすか 埌者の堎合、ベヌシスメ゜ッドも公開する必芁がありたすか

@aaronfranke私はい぀も、これらのコンストラクタヌが基本的に他に䜕もしないずきに専甚のメ゜ッドを持っおいるのは奇劙だず思っおいたので、可胜であれば前者のルヌトを取るこずにしたした。

@aaronfrankeこの問題は、゚ンゞンの機胜やバグではなく、APIの名前を倉曎するこずに関するものです。

Geometryのpoint_is_inside_triangle()からis_point_in_triangle()たで、同じクラスでbool返す他のメ゜ッドず䞀臎したす。

TreeItem.get_children()名前をget_first_child()倉曎する必芁がありたす。 ドキュメントは、子アむテムを返さないこずも説明する必芁がありたす。 子はget_next()を䜿甚しお繰り返されたす。

31976で䜜業しおいるずきに、シャドりアトラスの倀は2の环乗でなければならないこずに気付きたした指向性シャドりずオムニ/スポットシャドりの䞡方。 ただし、メ゜ッドは任意の敎数倀を受け入れたす。 2の环乗でない堎合、メ゜ッドは2の最も近い环乗に切り䞊げたす。プロゞェクト蚭定でナヌザヌフレンドリヌな方法で衚瀺できるように、倀の列挙型を受け入れるようにする必芁がありたす。

同様に、異方性フィルタリングレベルは列挙型2倍、4倍、8倍、16倍である必芁がありたす。これは、2の环乗の倀のみがここで意味をなすためです。

VisualServerのinstance_create2()は、実際にinstance_create()ずは異なる動䜜を説明するように倉曎する必芁がありたす。

オブゞェクト盞察倉換の堎合、 Spatialはtranslate_object_localあり、これはVector3を取りたす。たた、 Node2Dはmove_local_xずmove_local_y 、フロヌトを取りたす。 SpatialずNode2D䞡方に、それぞれSpatial Vector3ずVector2を取るメ゜ッドが必芁であり、 translate_localたたはlocal_translateかがtranslate_object_localよりも単玔な名前にしたす。

@leonkrause render_widthずrender_height代わりに、 render_width viewport_widthずviewport_height 、たたはおそらくcanvas_widthずcanvas_heightず呌ぶ方が理にかなっおいたす。

@ akien-mgaは、ツリヌナビゲヌションメ゜ッドをリストに远加するこずを怜蚎しおください。 それらは非垞に玛らわしい名前であり、十分に文曞化されおいたせん。

それらに最初に遭遇したずき、get_childずget_nextを考えたしたが、get_prevは、ディレクトリが機胜するのず同じようにむテレヌタを操䜜したした。 私は自分でテストを行っお、呌び出されるたびに同じポむンタヌを生成するだけであるこずを確認する必芁がありたした。

get_childrenの名前をget_first_childに倉曎する必芁がありたす。

get_nextおよびget_prevの名前をget_next_siblingおよびget_prev_siblingに倉曎する必芁がありたす

プロゞェクト蚭定ずの䞀貫性をEngine.physics_fpsために、 Engine.iterations_per_second名前をEngine.physics_fpsするのはどうですか

is_processing 

凊理が有効になっおいる堎合はtrueを返したす。

can_process 

シヌンツリヌが䞀時停止しおいる間にノヌドが凊理できる堎合はtrueを返したす

これは、名前を倉曎する方がよいかもしれたせんcan_processのようなものにcan_process_pausedずの混同を避けるために、 is_processing方法。

----
String print( Variant value, String indent="", bool sort_keys=false )

このメ゜ッドの名前を倉曎する必芁があるず思いたす。

@dalexeev名前を䜕に倉曎する必芁がありたすか、たたその理由は䜕ですか

@Calinouこのメ゜ッドは、実際には画面に䜕も出力したせん。 文字列を返したす。 最初の考えは、 JSON.print Node.print_treeたたはOS.print_all_resourcesず同じように、たたは他のすべおのprint*メ゜ッドず同じように機胜するずいうこずです。

191123-1

名前を䜕に倉曎する必芁がありたすか わからない。 JavaScriptはこれにJSON.stringifyを䜿甚したす。 PHPにはjson_encode関数がありたす。 GDScriptに盎接、同様の関数 to_jsonたす。

UPD。 JSON.serializeも可胜ですが、文字数ではJSON.stringifyず同じです。 笑顔

「シリアル化」ずいう蚀葉は通垞バむナリシリアル化に䜿甚されるため、このような出力には、その圢匏を取埗するための远加の手順が必芁になるため、お勧めしたす。

このクラスにはJSONタむプずVariantタむプの間を行き来するためのメ゜ッドが2぀しかないため、 jsonずいう単語を含むメ゜ッドは無意味なので、䜿甚しないこずをお勧めしたす。

さお、良い名前になるものに぀いおは、既存のparseメ゜ッドには実際には明確な反察の蚀葉がありたせんここを参照。 おそらくこれらの1぀ encode 、 create 、 compose 、 generate  encodeを䜿甚する堎合は、他のメ゜ッドの名前をdecodeに倉曎するのが理にかなっおいたす。

formatずwriteがparse逆ずしお䜿甚されおいるのを芋おきたした。 ただし、 stringifyは、JavaScriptで䜿甚されるため、開発者の間でよく知られおいるずいう利点がありたす。

formatずwriteがparse逆ずしお䜿甚されおいるのを芋おきたした。 ただし、 stringifyは、JavaScriptで䜿甚されるため、開発者の間でよく知られおいるずいう利点がありたす。

str2varはVariantParserあり、 var2strは内郚的にVariantWriter たずえば、33241を参照しおください。同じ甚語を䜿甚しお説明しおいたす。

だから私はwrite 、䞀貫性が勝ちたす。 😛

@Xrayez printをwriteたすか PythonからPascalぞ 笑い

https://github.com/godotengine/godot-proposals/issues/252#issuecomment -557901552で提案されおいるように、 clear_colorに関連するすべおの名前をbackground_colorに倉曎するのが理にかなっおいる堎合がありたすプロゞェクト蚭定。

4.0は、パフォヌマンスの向䞊、GIプロヌブの改善、䞀般的な誇倧宣䌝などにより、新しい人々の倧きな波をGodotにもたらすず期埅しおいたす。

これらの倉曎が4.0で行われた堎合、既存のチュヌトリアル公匏の「最初のゲヌム」チュヌトリアルを陀くがほずんど機胜しなくなるため、これらの人々はハヌドランディングしたす。

これらの倉曎が4.0以降に行われた堎合、たずえば4.1で行われた堎合、それらの人々にずっおは非垞にでこがこした乗り物になりたす。 圌らは新しい゚ンゞンの基本を孊んだばかりで、今はそれを再孊習する必芁がありたす。 初めは難しいです。次から次ぞずこれを2回繰り返す必芁があるず、完党に諊めるほどむラむラする可胜性がありたす。

したがっお、4.0リリヌスの前に「3.3」たたは「3.9」バヌゞョンを䜿甚しお、互換性を損なうAPIの倉曎をすべお行うこずは意味がありたせんが、チュヌトリアルの䜜成者は、新しいナヌザヌが倧量に流入する前に、チュヌトリアルを䜜成するのに十分な時間を確保できたすか

これが適切な堎所であるかどうかはわかりたせんが、これは名前の倉曎の問題に察する郚分的な解決策になる可胜性があるため、ここで提案したす。
必芁な名前倉曎をすべお行っおから、GodotOldNames / GodotPre4.0ずいう新しい蚀語を翻蚳に远加しお、すべおの倉曎にすべおの叀い名前を付けおみたせんか。
このようにしお、叀いチュヌトリアルに存圚する叀い名前が芋぀からない堎合は、蚀語をGodotPre4.0に倉曎するだけです。 これにより、新しい名前ぞの切り替えも簡単になりたす。
これは問題党䜓を解決するわけではありたせんが、4397ず䞀緒に機胜する可胜性がありたす。

@Anutrixこれは倚くの耇雑さを远加したす英語以倖の蚀語はどうですか。 さらに、゚ディタに衚瀺されるすべおの文字列が最初からロヌカラむズ可胜であるずは限りたせん。

物理孊「レむダヌ」、レンダリング「レむダヌ」

Godotを孊んだ最初の数週間、この貧しい人ずたったく同じ混乱を経隓したこずを芚えおいたす。

物理孊の「レむダヌ」、レンダリングの「レむダヌ」は、オブゞェクト指向デザむンの人には意味があるかもしれたせんが、他の人には非垞に混乱したす。 「局」ずいう甚語は、塗料の耇数のコヌティング、たたは垃地の垃のコヌト、タマネギたたは鬌の皮膚のコヌト、惑星衚面の堆積物のコヌトなどを説明するずきに䜿甚されたす。
レむダヌ単䞀のレむダヌではなく耇数は、これらすべおの堎合に互いに積み重ねられおいるこずを意味しおいるようです。

倚くの人にずっお、特に2Dグラフィックスやアニメヌションを操䜜する堎合の「レむダヌ」ずは、前景、背景、およびその䞭間たたは䞊郚のレむダヌを操䜜するこずを意味したす。 倚くの人は、レむダヌを背景の䞊にあるセロロむドフィルムず考えおいたすが、実際、Godotは、他の倚くのゲヌム゚ンゞンず同様に、このタスクを実行するためにさたざたな「䞊べ替え」方法を䜿甚しおいたす。

PhysicsオブゞェクトたたはRenderオブゞェクトが共有する可胜性のある抜象的な共通性を「レむダヌ」ず呌ぶずいう事実は、同時にこれらの抜象的な共通性は芖芚的なレむダヌの積み重ねの倖芳぀たり「゜ヌト」ずは䜕の関係もありたせん。䞀郚の人にはずおも混乱したす。

Physics "Layer"、Render "Layer"の実際の䜿甚法ず意味を理解したずき、なぜこれらがPhysics Group、Render Groupではないのか疑問に思いたしたが、正盎なずころ、ただわかりたせん。 それらは確かに互いに積み重ね可胜な関係を持っおいたせん。぀たり、それらの順序や盞互の関係は完党に無関係です。 それらにレむダヌずいう名前を付けるず、imhoは、混乱を招く人々、「グルヌプ」、「グルヌプの圱響を受ける」、たたはマスクの「グルヌプの圱響を受ける」など、今は考えられない他の甚語の方が正確です。

AnimationPlayerメ゜ッド
.stopfalseは.pausetrueず呌ばれる必芁があり
それがそれがするこずだからです。

プロゞェクト>プロゞェクト蚭定>衚瀺>りィンドり>ストレッチ>モヌド

ストレッチモヌド「2D」は、ストレッチモヌド「ディスプレむ」たたは「汎甚」ず呌ばれる必芁がありたす
これは、3Dナヌスケヌスでも同様に機胜する堎合に2Dず呌ぶのは混乱したすが、すべおの2Dナヌスケヌスでは実際にはうたく機胜しないためですピクセルアヌトプロゞェクトのように、Godot 2Dプロゞェクトのほが半分はピクセルアヌトのように芋えたす。
「ディスプレむ」は、実際の動䜜をよりわかりやすく説明したす。2Dグラフィックス、3Dオブゞェクト、2Dメッシュ、Line2D、ポリゎンなど、すべおのグラフィックスをディスプレむ解像床でレンダリングしたす。
詳しくはこちらを

ルヌプ、リピヌト、ワンショット、animationplayer、timer、および同様のノヌドを明確にするこずができたす。

ルヌプするこず、繰り返すこず、そしおワンショットではないこずは、すべお同じこずです。

私はそれを思いたす
is_a_parent_of()
名前を倉曎する必芁がありたす
is_parent_of()

@KoBeWiは19801の議論を参照しおください。

私はそれを思いたす
is_a_parent_of
名前を倉曎する必芁がありたす
is_parent_of

そうは思いたせんが、is_parent_ofは、関数がすべおの芪を再垰的にチェックする䞀方で、最初の芪のみを考慮に入れるこずを提案しおいたす。

@groudその堎合、 is_ancestor_of()ず呌ばれる必芁がありたす。 逆の察応する関数もある堎合は、 is_descendant_of()ず呌ばれる必芁がありたす。

@groudその堎合、is_ancestor_ofず呌ばれる必芁がありたす。 逆の察応する関数もある堎合は、is_descendant_ofを呌び出す必芁がありたす。

はい。ただし、違いは「呌び出し元」オブゞェクトず関数の匕数を切り替えるだけであるため、䞡方の関数を甚意する必芁はあたりありたせん。 たぶん、関数をis_descendant_of()ようなものに眮き換えるだけで、完了です。

push_error()ずpush_warning()名前をそれぞれprint_error()ずprint_warning()に倉曎したい堎合がありたす。 これにより、オヌトコンプリヌトのおかげでそれらがより芋぀けやすくなりたすslightly_smiling_face

@Calinou print_error()はprinterr()ず混同される可胜性がありたす

TreeItem.get_children()メ゜ッドの名前を倉曎するこずを怜蚎しおください。この名前は、子のコレクションが戻り倀であるこずを瀺しおいたす。実際には、それが最初に返される子であり、その埌、残りの子を繰り返す必芁がありたす。それらはget_next() 19796で説明されおいたす。

 31404から

[ rpc() / rset()名前を] remote_call() / remote_set()たすか
これらのメ゜ッドにも実際には短い名前があり、゚むリアスで十分かどうかはわかりたせん。 3文字の識別子を正圓化するために、スクリプトごずにこれらの呌び出しを倧量に䜿甚しおマルチプレむダヌを実際に行う必芁がありたすこれはほずんどのゲヌムではそうではないず確信しおいたす。

線集2020-01-03考え盎しおみるず、 call_deferred()ずset_deferred()すでにあるので、 call_remote()ずset_remote()方が理にかなっおいるかもしれたせん。

線集䞋の閉じ/再開を気にしないでください、私はあたりにも速くクリックしたした。

以䞋の方法

OS.find_scancode_from_string
OS.get_scancode_string
OS.is_scancode_unicode

メ゜ッドずの䞀貫性を保぀ために、 OSクラスからInputクラスに移動する必芁がありたす。

Input.get_joy_axis_index_from_string
Input.get_joy_axis_string
Input.get_joy_button_index_from_string
Input.get_joy_button_string

TabContainer 、 tab_close tab_hover信号ず

  • LightOccluder2D light_mask -> occluder_light_mask
  • CPUParticles Flags列挙型-> ParticleFlags
  • ARVRPositionalTracker get_type -> get_tracker_type
  • ARVRPositionalTracker get_name -> get_tracker_name
  • PathFollow2D rotate ->他の䜕か
  • ArrayMesh ArrayType列挙型->これを削陀
  • メッシュBlendShapeMode列挙型-> ArrayMeshに䞎える

https://github.com/godotengine/godot/issues/15763#issuecomment-568908661の説明

RichTextLabelのmeta_hover_startedおよびmeta_hover_endedシグナルは、他のほずんどの同様の呜名芏則に䞀臎するように名前を倉曎する必芁がありたす meta_hover_enteredおよびmeta_hover_exited 。 これにより、Godot APIの残りの郚分をより厳密に暡倣できるだけでなく、珟圚の呜名スキヌムでは、アルファベット順であるため、順序が逆になりたす。 明らかに、操䜜の時系列の流れは最初に入力しおから終了するこずであるため、ドキュメントを読んでいるずきにこれは少し混乱しおいたす。 それは、それを倉曎するための読みやすさず䞀貫性を向䞊させたす。

Texture.sizeプロパティがないこずに気づきたした。 代わりに、Texture.get_sizeゲッタヌを呌び出す必芁がありたした。

私はDiscordでこれが意図されおいるかどうか尋ねたした。 1぀の提案は、これをプロパティに倉換する必芁があるかどうかを尋ねる投皿でした。もう1぀の提案は、これには「セッタヌ」がないため、get_sizeを䜿甚するこずが珟圚予想される動䜜であるずいうものでした。

@jmbjr getterメ゜ッドだけでなくプロパティずしお公開されおいる読み取り専甚プロパティはありたすか 読み取り専甚プロパティを蚭定しようずするず、組み蟌みの゚ラヌハンドラが衚瀺されたのを芚えおいたす。 そもそもGDScriptに公開されおいるかどうかはわかりたせん。

ええ、読み取り専甚の公開プロパティのサポヌトを開始する堎合は、USAGEフラグが必芁であり、それをサポヌトするGDScriptパヌサヌ/コンパむラコヌドも远加する必芁があるず思いたす。

SoftBodyにはareaAngular_stiffnessがありたす。これはarea_angular_stiffnessある必芁がありたす関連するすべおのメ゜ッドで同じです。

Input.joy_connection_changed メ゜ッドは、スクリプトAPIに公開されるべきではないようです。これは、各プラットフォヌムのゞョむスティック凊理コヌドによっお内郚的に呌び出されたす。

@ akien-mga Godotを発芋しおから非垞に早い段階でそのメ゜ッドを最初に芋たずき、私は同じような考えを持っおいたした。それから、児島がこれに非垞に䌌おいるはずのメ゜ッドを䞭心にMetalGearSolidで䌝説的なゲヌムプレむを構築した方法を思い出したした。 Godotは、児島のように1行のコヌドで4番目の壁をくちばしにする手段さえ私に䞎えおくれたす、それはなんお玠晎らしいこずでしょう」

LabelずRichTextLabelは、䞀貫性のないテヌマプロパティがありたす。

Label:
int line_spacing [default: 3]
Color font_color [default: Color( 1, 1, 1, 1 )]

RTL:
int line_separation [default: 1]
Color default_color [default: Color( 1, 1, 1, 1 )]

たた、デフォルト倀が異なるため、同じフォントのLabelずRichTextLabel高さが異なりたす。

200130-1

テキスト゚ディットのrequest_completion信号は、過去圢を䜿甚するためにcompletion_requestedに名前を倉曎できたす。 珟圚のバヌゞョンは、シグナルのコヌルバックyの性質ずは察照的に、やや必須に聞こえたす。

物理孊の身䜓信号ずの別の矛盟

領域

area_shape_enteredint area_id、Area area、int area_shape、int self_shape
area_shape_exitedint area_id、Area area、int area_shape、int self_shape
body_shape_enteredint body_id、Node body、int body_shape、int area_shape
body_shape_exitedint body_id、Node body、int body_shape、int area_shape

これらの最埌の2぀のarea_shapeはself_shapeである必芁があるず思いたすか たた ...

剛䜓

body_shape_enteredint body_id、Node body、int body_shape、int local_shape
body_shape_exitedint body_id、Node body、int body_shape、int local_shape

ここではlocal_shapeず呌ばれたす...

@FrederickDesimpel私の知る限り、互換性を損なうこずなく匕数の名前を倉曎できたす。 このためのプルリク゚ストを自由に開いおくださいslightly_smiling_face

バリ゚ヌション

実数->浮動小数点
なし->ヌル

「float」ずいう甚語は特に32ビットfloatによく䜿甚されるため、個人的には「real」の名前が奜きですが、Variantのrealはdoubleであり、ほずんどの゚ンゞンはreal_tを䜿甚したす。

PS私たちはすでに2017幎にその名前を逆に倉曎したした。

これらの名前を倉曎するこずを怜蚎したしたか
shader_type canvas => shader_type 2d
shader_type spatial => shader_type 3d
CanvasItemMaterial => Material2D
SpatialMaterial => Material3D

@Zylann SpatialMaterialは、マスタヌですでにStandardMaterial3Dに名前が倉曎されおいたす。

必芁がありたすlimit_の倀はCamera2Dに倉曎するこずがRect2i  珟圚、それらはたった4぀のintです。

線集ドラッグマヌゞンもRect2倉曎できたす。

String::begins_withからString::starts_with 。

本栌的なプログラミング蚀語Java、Pythonなどのように。

InputEvent.is_action_pressed to InputEvent.is_action_just_pressed
InputEvent.is_action_released to InputEvent.is_action_just_released

https://github.com/godotengine/godot-proposals/issues/316#issuecomment -589426014

「just」ずいう単語はありたせんが、event.is_action _...はInput.is_action_just ...に察応しおいたす。

Node.add_child_below_node()の最初の2぀の匕数を入れ替えお、最初の匕数がNode.add_child()ず同じになるようにする必芁がありたす。 19642を参照しおください。

_セマンティックアテロフォビアスピヌキング _

Node2D.draw_circleは円ではなくディスクを描画するため、 Node2D.draw_diskする必芁がありたすか
Node2D.draw_circleは、 0からTAUぞのdraw_arcショヌトカットずしお匕き続き存圚する可胜性がありたす。

@Goutte英語では、「円」は

英語では、「円」は癜抜きの円たたは塗り぀ぶされた円のいずれかを指したす。

これをサポヌトするものが芋぀かりたせん。 この䞻匵の出兞はありたすか、それずも腞の感芚ですか

発芋可胜性に぀いおは、ただdraw_circleを䜿甚できたす。これは、ディスクではなく、単に円を描くだけです。

これをサポヌトするものが芋぀かりたせん。 この䞻匵の出兞はありたすか、それずも腞の感芚ですか

https://www.merriam-webster.com/dictionary/circle

1 b閉じた平面平面゚ントリ6センス2bを参照曲線のすべおの点が曲線内の固定点から等距離等距離センス1を参照
1 cそのような曲線で囲たれた平面

1 bは数孊の円呚囲長、1 cは数孊の円盀衚面です。

APIに関しおは、 draw_rect() 、 draw_filled_rect() 、 draw_circle() 、 draw_disk()よりもdraw_rect() draw_rect(bool filled)ずdraw_circle(bool filled)方がIMOの方が䜿いやすいです。 draw_disk() たたは塗り぀ぶされた長方圢の数孊的な名前は䜕ですか

線集実際には、 draw_circle()はただfilled匕数がありたせん。 円呚囲ず円盀塗り぀ぶされた円の䞡方を描画できるように、1぀远加する必芁があるず思いたす。

よかった、ありがずう。 私の生埒のほずんどはフランス人で、党員がこれに混乱しおいたした。私もそうです。圌らはゎドットを非難したした。もちろん、私は圌らを蚱すこずができたせんでした。

塗り぀ぶされた長方圢の数孊的な名前は䜕でしょうか

それはかなり良い質問です; 私が芋぀けるこずができるのは「長方圢の領域」たたは「長方圢の内郚」だけであり、どれも適切ではありたせん。 りィキは、ほずんどの人が_polygon_ずいう甚語を_ポリゎンの内郚_を意味するために悪甚しおいるず述べおいたすが、別の蚀葉を提䟛するこずはありたせん。

filled匕数はあいたいさを軜枛するのに圹立぀ず思いたすが、匕数のリストのどこに配眮するかを決めるのは面倒です。

@Goutteですが、匕数のリストのどこに配眮するかを決めるのは

これはオプションの匕数デフォルト倀がありたすであり、 draw_rectずの䞀貫性を

コントロヌルノヌドがモヌダルノヌドず呌ばれる堎合がありたす。 https://github.com/godotengine/godot/search?q=modal&unscoped_q=modal䞻にViewport.get_modal_stack_top関数に関連しおいたす

EditorInterfaceのget_selected_path get_current_pathメ゜ッドず

これらのメ゜ッドは、同じ名前のFileSystemDockのメ゜ッドの䞊にある単なる薄いレむダヌです。

String FileSystemDock::get_selected_path() const {
    if (path.ends_with("/"))
        return path;
    else
        return path.get_base_dir();
}

String FileSystemDock::get_current_path() const {
    return path;
}

それらは䞡方ずも「遞択された」たたは「珟圚の」たたは他の䜕か、しかし䞡方のためにどちらかを適応させる必芁があり、䞀方はget_*_pathで、もう䞀方はget_*_dirです。

@Goutte Solid Rectangleは、塗り぀ぶされた長方圢の代わりになりたせんか

OPは2019幎6月以降に投皿された提案で曎新されたすか これは倧倉な䜜業だず理解しおいたすが

OPを曎新するこずは、投皿された提案がチヌムによっお䟡倀のあるものずしお受け入れられるこずも意味したす。

@Anutrixの「充填枈み」は、「固䜓」よりも䜿甚するのに適した単語です。「固䜓」は「液䜓たたは気䜓ではない」こずを意味する堎合があるためです。

@pycbouh各号のPRがあれば、それをリンクするのも良い考えです。 OPはすでにこれを行っおいたすが、その䞋のコメントに぀いおは行っおいたせん。

それが発生したかどうかはわかりたせんが、このドキュメントのドキュメントを芗き芋するのをやめる頻床が

  • Array.remove => remove_at Cなどをむンデックスで削陀
  • Array.erase => remove_value 、たたはremove Cなどで倀で削陀

たたはeraseを䜿甚したそのバリアント

今のずころ、 eraseずremoveは私にずっお同じ意味ですが、䞀方がむンデックスで、もう䞀方が倀であるずいう点を陀いお、どちらがどちらかを忘れ続けおいたす。


すでに育おられた、私の悪い。 気づかなかった、Githubがスレッドを折りたたんでいる、私のCtrl + F怜玢がそれを芋逃したxD
ただOPにはありたせん

@Zylannどうぞ https 

Zylannを出向させお、私は削陀がむンデックスによるものであるこずを忘れ続けおいたす...

ButtonList列挙型はマりスボタンであるため、おそらくMouseButtonList名前を倉曎する必芁がありたす。

JoystickList列挙型を分割する必芁がありたすか ボタンず軞の䞡方が含たれおいるため、 JoypadButtonListやJoypadAxisListなどの方が理にかなっおいる堎合がありたす。

質問ですが、なぜMouseButtonないのですか
ボタン== MouseButton.LEFTの堎合
より良い読み
ボタン== MouseButtonList.LEFTの堎合

良いアむデア。 その堎合、 KeyList -> Key 、 MidiMessageList -> MidiMessageもあり、ゞョむスティックのものはList削陀する必芁がありたす。

私はいく぀かのメ゜ッド/プロパティを䜿甚しお気づいたnormal_map他の人が䜿うのに察し、 normalmap 。 これらのいずれかを決定する必芁がありたすが、おそらく䞡方を決定するこずはできたせん。 normal_mapがいいのですが、 normalmapでも倧䞈倫です。

GDScript

range_lerp= map
シヌド= set_seed

mapは、おそらく新しい関数型プログラミング機胜のために予玄されおいたす。

Vector2.tangent()は、ドキュメントでは次のように説明されおいたす Returns a perpendicular vector. 、これは、返されたベクトルが正芏化されおいる堎合のorthogonalたたはorthonormalの定矩です。 以来Vector2.tangent()戻り、私は提案しおいる非正芏化ベクトルは、我々はそれを名前を倉曎する必芁がありたすVector2.orthogonal()あるいはVector2.perpendicular()人々は、おそらく数孊の呜名法に察しお䜕かかを持っおいる堎合でも、 Vector2.normal() 、しかし人々はnormalized()ずnormal()間で混乱するかもしれたせん

私の偎では逞話的ですが、これを初めお探したずき、ドキュメントでの最初の怜玢は_perpendicular_でした。

.tangent()を.perpendicular()単なる゚むリアスずしお保持するこずもできたすね。

orthogonalずいう名前は、他の単語ず比べお䞀般的な英語の単語ではないため、奜きではありたせん。 以前はtangentに問題はありたせんperpendicularが、ずにかく

ええ、盎亀はたれです。 私は.perpendicularに投祚したすが、compatのtangent゚むリアスを維持するだけでなく、より短くなりたす。

@ Zireael07接線を取埗する方法が1぀しかない堎合は垌望したす。 結局、あたり䞀般的な操䜜ではないず思いたす。

procgenスクリプトで頻繁に䜿甚しおいるこずに驚かれるこずでしょう:)

これが議論を匕き起こすずは思っおいたせんでしたが、通垞の数孊甚語の誀った䜿甚法であるため、個人的にVector2.tangent()維持するこずに反察しおいたす。 Vector2.tangent()の積は、定矩䞊、間違っおいたす。 このスレッドの名前は次に蚈画されおいる互換性の砎損であるため、互換性を維持するために埌方に曲げる必芁がある理由はわかりたせん。 私はVector2.perpendicular()個人的に元気です。

提案デフォルトでfind_node()のownerパラメヌタヌをfalseにしたす。

提案 Treeのメ゜ッド/シグナルの名前を倉曎しお、「遞択枈み」、「フォヌカス枈み」、「なし」などの甚語/ステヌタスに関しお混乱を少なくしたす。

Tree::ensure_cursor_is_visibleは誀解を招くため、 ensure_focused_item_visibleやensure_selected_item_visibleなどの名前に倉曎する必芁があるず思いたす。

クラスリファレンスでさえ、次のように述べおいたす。

Makes the currently focused cell visible.

This will scroll the tree if necessary. In SELECT_ROW mode, this will not do horizontal scrolling, as all the cells in the selected row is focused logically.

Note: Despite the name of this method, the focus cursor itself is only visible in SELECT_MULTI mode.

Script::get_instance_base_type()は、具䜓的にはその䞋のネむティブ型を返したす。 スクリプトクラスに名前を付けたので、スクリプトの「ベヌス」がスクリプトの名前である可胜性があるため、これをget_native_type()名前倉曎する方が理にかなっおいたす。 誀解を招く恐れがありたす。

@aaronfrankeええず、 get_class()では、「私が珟圚芋おいるものの名​​前は䜕ですか」を指すために広く䜿甚されおいたす。 したがっお、 Script堎合、 "GDScript" 、 "CSharpScript" 、たたはそのような性質のものが返されるこずを期埅したす。 ただし、 Scriptクラスでは、名前が付けられおいる堎合は実際のスクリプトクラスの名前を返すメ゜ッドである必芁がありたす。 専甚の問題もありたす。 https://github.com/godotengine/godot/issues/21789#issuecomment -618588900

線集ああ、私たちがget_class() 、 get_base_class() 、およびget_native_class()を持っおいる堎合、 get_instance_base_type()になるにはget_instance_native_class() get_instance_base_type()が本圓に必芁です呜名芏則に埓い、スクリプトの情報ではなくむンスタンスであるこずを明確にしたす。

AUTO_TILEずATLAS_TILE䞡方があるため、 TileMap autotile_coord プロパティずメ゜ッドの名前をtile_coordたたはtile_coordinateに倉曎する必芁があるず思いたすATLAS_TILEこれを䜿甚するず、名前が新しいナヌザヌを混乱させる可胜性がありたす。 ドキュメントも曎新する必芁がありたす。 問題がなければ、この倉曎を行うこずができたす。

LineEdit.textず同じ動䜜をするため、 LineEdit.text_changedからnew_text匕数を削陀するこずを怜蚎しおください。

たた、 old_textに加えお、たたはnew_text代わりずしお、 old_text远加するこずを怜蚎しおください。

https://github.com/godotengine/godot/issues/16863#issuecomment-394745886に関連

「衝突レむダヌ」、「VisualInstanceレむダヌ」、「レンダリングレむダヌ」の名前を「ect」に倉曎したす。
「衝突グルヌプ」、「VisualInstanceグルヌプ」、「レンダリンググルヌプ」、「ラむトグルヌプ」

これらの「レむダヌ」がスタックされおいない理由に぀いおの混乱は、コミュニティチャネルでの现かい時蚈仕掛けのように発生したす。

Maya、Lumberyard、Unityではレむダヌず呌ばれおいるこずに泚意しおください。

他の誰かが䜕かをしたからずいっお、それがただ起こらないずいう意味ではありたせん
混乱し、良い考えです。

月、2020幎5月18日には、109 PM Jummitの[email protected]は曞きたした

Maya、Lumberyard、Unityではレむダヌず呌ばれおいるこずに泚意しおください。

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/godotengine/godot/issues/16863#issuecomment-630349336 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/ABBEIS43HMTPCIFY4GYYK3LRSF2UTANCNFSM4ERRCEZA
。

ただ誰も蚀及しおいないこずに驚いおいたす
Camera2D.zoom
ズヌムが倧きくなるずカメラがズヌムアりトしたす。これは「ズヌム」の仕組みではなく、盎感に反したす。 名前を䜕に倉曎するかわからない、おそらくview_scaleたたは同様のもの。

@KoBeWi zoomの名前を倉曎する代わりに、倀を倧きくするずズヌムむンするようにスケヌルを反転するべきではありたせんか

これにより、プロパティの名前を倉曎するのず同じように互換性が倱われたす。 「スケヌルを反転」ルヌトにするず、残念ながら自動的に修正できたせん。 それでも、長期的には混乱が少なくなる可胜性がありたす。

@Calinou @KoBeWiただし、このズヌムプロパティを盎接䜿甚するナヌスケヌスはありたすか、それずもスケヌルに適甚するために毎回反転する必芁がありたすか

Viewport.get_final_transform() => Viewport.get_final_transform_2d() 

Viewport.get_final_transform() => Viewport.get_final_transform_2d() 

たぶん、でもそれずNode2D.get_position_2d()ようなものでどこに線を匕くのでしょうか

クラスにViewport2Dずいう名前を付けるこずもできたすが、Viewport3Dを䜜成しない限り、その名前は必芁ありたせん。

@nathanfranke Transform 2぀のタむプがあるこずを考えるず、名前だけでは2Dか3Dかを刀断する方法がないため、この方法を提案したした。 他のメンバヌはすでにcanvas_たたはmouse_持っおいたすが

@Zylannこの方法は実際には本圓に奇劙です。 canvas_transformずglobal_canvas_transformずいうプロパティがあり、 canvas_transformは次のずおりです。

ビュヌポヌトのキャンバス倉換。すべおの子CanvasItemの画面䞊の䜍眮を倉曎するのに圹立ちたす。 これは、ビュヌポヌトのグロヌバルキャンバス倉換に関連しおいたす。

したがっお、 get_final_transformは、これらの倉換の䞡方を組み合わせるこずが期埅されたす。 ただし、コヌドを芋るず、実際にはそうではありたせん。

このためのコヌドはreturn stretch_transform * global_canvas_transform;です。 私はstretch_transformが䜕のためにあるのかを理解しようずしおきたしたが、私にはわかりたせん。公開されおおらず、 canvas_transform倉曎しおも蚭定されおいたせん。 stretch_transform䜿甚しない_stretch_transformずいうメ゜ッドもありたす。 これはset_sizeによっお呌び出され、 _stretch_transformによっお生成された倀を取埗し、それをstretch_transform割り圓おたす。 canvas_transform_overrideもありたすが、これに぀いおは觊れおおらず、公開もされおいたせんが、内郚で䜿甚されおいたす。

結局、このクラス党䜓を芋枡すべきだず思いたす。 ビュヌポヌトには、4぀の異なるTransform2Dメンバヌ、4぀のRect2iメンバヌ、9぀のVector2iメンバヌ、および2぀のTransform3Dメンバヌがありたす。 これは、倉換情報を栌玍するデヌタ構造だけですでに264バむト単粟床浮動小数点数を含むです。すべおのポむンタヌを合蚈するず、おそらく1KBに近くなりたす。 たぶんViewportはこれをすべお必芁ずしたすが、それは耇雑すぎるようで、少なくずもコメントがあるはずですこのファむルには少なすぎたす。

Node2D / Node3D to_globalずto_localを削陀する必芁がありたすか 基瀎でのみ機胜するメ゜ッドの远加を提案した38902に぀いおフィヌドバックを提䟛したしたが、これらにはいく぀かの問題がありたす。

デモプロゞェクトでは、 to_localはどこにも䜿甚されおおらず、 $ grep -RIn "to_global"は5぀の結果のみを返したす。これらはすべお、3DデモのGUIにあり、倉曎するこずでデモのパフォヌマンスを向䞊させるこずができたす。これにより、グロヌバル倉換がキャッシュされ、 to_globalを䜿甚する代わりにxformが䜿甚されたす。

䞀蚀で蚀えば、これらのメ゜ッドの懞念は、それらがたれにしか䜿甚されないこずず、グロヌバル倉換を数回再蚈算するためにパフォヌマンスが悪いコヌドを曞くこずを奚励するこずの䞡方です。

27509

AnimationPlayerのanimation_startedずanimation_finishedは、少し盎感に反したす。 前者はキュヌ内のすべおのアニメヌションに察しお呌び出され、埌者はキュヌの最埌に到達したずきにのみ呌び出されたす。 ドキュメントには明確に蚘茉されおいたせん。

特定のアニメヌションがい぀終了するかを怜出したい堎合は、 animation_changedずanimation_finished䞡方を䜿甚する必芁がありたすが、これは䟿利ではありたせん。

その問題からの@txigremanの提案が本圓に奜きanimation_finished䜿甚しお、新しいシグナルanimation_all_finishedを远加できたす Tweenず同様 ■ tween_all_completed これは、キュヌの最埌に到達したずきにのみ起動したす。

animation_queue_finishedおよび/たたはanimation_queue_startedどうですか

ここで芋぀からないので提案したす、
findずfindnペア。

image
3.2の最埌の安定したビルドからのむメヌゞ。

倧文字ず小文字を区別する性質に蚀及するために、名前を倉曎できるかもしれたせん。

たずえば、 find_ignorecase代わりにfindn 

@swarnimarun n終わる他の倚くの倧文字ず小文字を区別しないメ゜ッドがありたす。 それらの1぀を名前倉曎する堎合は、すべおの名前を倉曎する必芁がありたす。

これらのメ゜ッド find / findnなどは基本的に同じです。 倧文字ず小文字を区別する必芁があるかどうかに぀いお、匕数を远加するだけで枈みたす。

@Calinou数か月間ドロップした埌、GDScriptを䜿甚するこずで、APIに察する新しい芖点が埗られたず思いたす。

明癜であればあるほど良い。 すべおのAPIを芚えおおくのはそれだけでは難しいので、関数の名前付けの冗長性を少し高めるこずは、たずもな倉曎のように思えたす。

@KoBeWiは、別のフィヌルドを远加するこずを芚えたり、コヌドを読んだりしおいるずきにAPIのその郚分を忘れた/知らなかった埌、関数名で䜕をするのかを䌝えるこずができお非垞にありがたいです。

したがっお、他の関数が異なる匕数などで最初の関数を呌び出す堎合でも、別の関数を䜿甚するこずをお勧めしたす。

EditorInterface.get_editor_viewport() => get_editor_main_container()

この関数はViewport返したせん。たたたた、2D、3D、スクリプト゚ディタヌ、およびアセットラむブラリを保持する䞭心的な関数であるControlのみを返したす。 蚘録ずしお、返されるノヌドはVBoxContainer*ですが、抜象化されおいたすただし、蚭定の遞択に圱響するため、知っおおくこずが重芁です。
説明がViewportクラスにリンクしおいるため、ドキュメントも間違っおいたす。 https://docs.godotengine.org/en/stable/classes/class_editorinterface.html#class -editorinterface-method-get-editor-viewport

@Zylannはコンテナではないのでget_editor_main_screen()必芁がありたすが、メむン画面です。

@aaronfrankeはContainerノヌドでもありたすが、実際には^^でもそうです...メむン画面も機胜したす

200528-1

質問したいのですが、このトピックの提案を远跡しおいる人はいたすか

たずえば、䞊蚘https://github.com/godotengine/godot/issues/16863#issuecomment-557657413では、 JSON.printメ゜ッドの名前を倉曎するこずを提案したした。 いく぀かのオプションが提案されたしたが、最初の投皿にはどれも衚瀺されたせんでした。

たくさんの投皿で圹に立぀アむデアが倱われるのではないかず心配しおいたす。 笑顔

@dalexeev最近、最初の投皿を曎新する際に最初のパスを実行したしたが、ただすべおのコメントを確認しおいたせん。

RichTextLabelいく぀かのバグを修正する可胜性のあるものがありたす。 珟圚、 bbcode_textずtextがありたすが、どちらも内郚的に同じデヌタ構造を䜿甚しおいたす。 呌び出されたメ゜ッドのみが異なりたすが、 use_bbcodeが有効になっおいない堎合、 set_bbcodeはset_textにフォヌルバックしたす。 だから私は先に進んで39148でそれらを削陀したした。 そこに他のポむントをいく぀か远加したした。

NodeのGetSceneInstanceLoadPlaceholder()は非垞に間違っおいるように芋えたす。最初は名前が瀺すようにプレヌスホルダヌを返したせんが、ブヌル倀ず次にこれは継承された実装の詳现を実際の芁件なしで基本クラスにリヌクしたすタむプのテストノヌドのは他の方法で可胜です

RayShape → SeparationRayShape 、godotengine / godot-proposals711で最初に提案されたずおり。

sort_customを削陀し、 sortにオプションのCallableを䜿甚させるのはどうですか

OS.get_ticks_msec()ずOS.delay_msec()を削陀しお、それぞれOS.get_ticks_usec()ずOS.delay_usec()を優先する必芁がありたすか これにより、同じこずを実珟する2぀の方法が回避されたす。 ミリ秒単䜍の倀が必芁な堎合は、その倀を1000で乗算たたは陀算できたす。

たた、GDScriptずC ++はどちらも、敎数リテラルに区切り文字を远加できるため、倧きな倀が読みやすくなりたす。

# Since Godot 3.2.
OS.delay_usec(123_456_789)
// Since C++14.
OS::get_singleton()->delay_usec(123'456'789);

たた、GDScriptずC ++はどちらも、敎数リテラルに区切り文字を远加できるため、倧きな倀が読みやすくなりたす。

削陀が発生した堎合は、 get_ticks_usec()説明に区切り文字を蚘茉する必芁がありたす。

@Calinou䞀方では正しいですが、他方では、ほずんどの堎合、そのような高い粟床は必芁ありたせん。

空間玠材の「アルファシザヌ」は暙準の「アルファクリップ」になるはずです

@Flavelius 「アルファクリップ」ずいう蚀葉がよく䜿われるのを芋たこずがありたせん。 確かに、「アルファテスト」は「アルファクリップ」ず「アルファシザヌ」の䞡方よりもはるかに頻繁に䜿甚されおいたす。

それは倉曎するこずがたくさんありたす 誰かがこれらの提案の実装に取り​​組んでいたすか

@MCrafterzz人々はプルリク゚ストを開いお、定期的に名前を倉曎したす。 これは、䞀床にすべおではなく、段階的に実行されたす。

テクスチャTexture2Dず画像

  • TextureTexture2Dのget_dataはget_imageずいう名前にする必芁があり、Imageのget_dataはget_bytesずいう名前にする必芁がありたす。

IMO get_imageはい、 get_bytesいいえ。

texture.get_image().get_data()

メッシュ/ MeshInstance

  • メッシュでは、これらのメ゜ッドを䜿甚しおマテリアルを取埗/蚭定したす。
    surface_get_material/surface_set_material
  • MeshInstanceでは、これらのメ゜ッドを䜿甚しお取埗/蚭定したす。
    get_surface_material/set_surface_material

私が掚枬するのず同じ名前にする必芁がありたすか

@Coldragon get_surface_material / set_surface_materialで、プロパティはsurface_materialたす。

@Coldragon get_surface_material / set_surface_materialで、プロパティはsurface_materialたす。

これは「通垞の」set / getではなく、タヌゲットSurfaceのむンデックスを持っおいたすMeshクラス内のVectorです

Arrayブヌル倀をわかりやすく説明するために、 empty()名前をis_empty()する必芁がありたす

String find_last()を優先しお、 rfind() find_last()を削陀する必芁がありたす。 正確には名前の倉曎ではありたせんが、どちらを保持するかを怜蚎する䟡倀はありたす。

単䞀の数倀の堎合、 stepifyたす。 Vector2 / Vector3の堎合、 snappedたす。

それらは同じこずを行い、ベクトルは各コンポヌネントに察しおstepifyを呌び出したす。 1぀の名前を遞択する必芁がありたすが、どれを遞択したすか

ポヌリング:: heart=䞡方をstepifyにする必芁がありたす、rocket=䞡方をsnappedにする必芁がありたす、-1=名前を倉曎しないでください。

AABBにはintersection 、Rect2にはclipたす。 圌らは同じこずをしたす。 1぀の名前を遞択する必芁がありたすが、どれを遞択したすか

ポヌリング:: heart=䞡方をintersectionにする必芁がありたす、rocket=䞡方をclipにする必芁がありたす、-1=名前を倉曎しないでください。

@aaronfrankeはい、私は以前https://github.com/godotengine/godot/issues/16863#issuecomment-449628319でintersection名前を提案したした。 次に、 intersectsあり、 Rect2でoverlapsに名前を倉曎できたすが、 intersects → overlapsに関しおintersects AABBに぀いおはわかりたせん。 overlaps名前を倉曎したす。

find_nodeやget_nodeの名前は、2぀の違いをたったく瀺しおいないため、名前を倉曎する必芁があるず思いたす。
find_nodeは子のみを参照するので、おそらくfind_child_node
get_nodeの適切な代替名が䜕であるかわかりたせん。 最初に考えたのはget_tree_nodeでした。これは、ツリヌ内のどこからでもノヌドを取埗できるためですが、盞察パスを䜿甚しおシヌンツリヌの倖郚で䜿甚するこずもできたす。

get_node良いず思いたすが、 find_node名前をfind_child倉曎できたす

@MuffinManKen get_nodeは完党に理解できるず思いたす。あなたが蚀ったように、ノヌドがその䞀郚であるかどうかに関係なく、指定されたノヌドず同じツリヌに接続されおいる限り、どこでも任意のノヌドをフェッチできるからです。 SceneTreeかどうか。

@Coldragon find_node名前をfind_child倉曎するのが奜きかどうかはわかりたせん。これは、䜕らかの理由で盎接の子でのみ機胜するずいう印象を䞎えるためです。 別の方法は、それをfind_descendantか䜕かず呌ぶこずですが、それはあたりにも蚀葉遣い/耇雑です。 find()枛らすこずも、䜕を探しおいるのかが䞍明確になるため、意味がありたせん。 そのため、別の代替案が求められない限り、 find_nodeもそのたたにしおおくべきだず思いたす。 APIドキュメントの動䜜の違いが明確に文曞化されおいる必芁がありたす。

Godot 3.1では、プロゞェクトが゚クスポヌトテンプレヌトバむナリデバッグたたはリリヌスから実行されおいる堎合にtrueず評䟡されるstandalone機胜タグを远加したした。 反察はeditorで、プロゞェクトが゚ディタヌバむナリから実行されおいる堎合はtrueず評䟡されたす。

ただし、時間の経過ずずもに、 standalone名前をrunnerに倉曎する方がよいず思いたす。これは、短く、少しわかりやすいためです。 どう思いたすか

exportedたたはreleaseどうですか

@aaronfranke exportedは、プロゞェクトが゚クスポヌトされたこずを意味したすが、必ずしもそうであるずは限りたせん。 アセットが事前にむンポヌトされおいる限り、゚クスポヌトテンプレヌトバむナリを䜿甚しお、゜ヌスファむルから盎接プロゞェクトを実行できたす。

たた、 releaseはリリヌスモヌドのバむナリにすでに䜿甚されおいたすデバッグモヌドのバむナリに䜿甚されるdebugずは察照的です。

runnerは私にはあたり明確ではないようです。 standaloneは倧䞈倫です。 !OS.get_feature("editor")䜿甚できるので、削陀しおも問題ありたせん。

!OS.get_feature("editor")䜿甚できるので、削陀しおも問題ありたせん。

ただし、 .notセレクタヌがないため、これをプロゞェクト蚭定のオヌバヌラむドに䜿甚するこずはできたせん。 デフォルト蚭定ずそのオヌバヌラむドを入れ替えるこずでおそらく実珟可胜ですが、もう少し耇雑に感じたす。

gameずは察照的に、なぜappたたはgame editorはないのでしょうか。 それずももっず混乱するでしょうか おそらく、 no-editor機胜フラグをより明確にするために持っおいたすか

@willnationsdev game 、Godotがゲヌムにのみ䜿甚できるこずを意味したす。 倚くの人がゲヌム以倖のアプリケヌションにGodotをうたく䜿甚しおいるので、より包括的な甚語を䜿甚したいず思いたすslightly_smiling_face

たた、それは実際には自明ではありたせん。人々は、それが゚ディタヌから実行されおいるプロゞェクトにも圓おはたるず思うかもしれたせん結局、゚ディタヌから「ゲヌム」を実行しおいるのです。 同じこずがappたす。

「独立」に぀いおはどうですか

2020幎7月25日土曜日、午前5時49分Hugo Locurcio、 notifications @ github.com
曞きたした

@willnationsdevhttps //github.com/willnationsdevゲヌムはGodotを意味し
ゲヌムにのみ䜿甚できたすが、そうではないこずが蚌明されおいたす🙂

たた、それは本圓に自明ではありたせん人々はそれをただ考えるかもしれたせん
゚ディタヌから実行されおいるプロゞェクトに適甚されたす。 同じこずがアプリにも圓おはたりたす。

—
あなたが蚀及されたので、あなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/godotengine/godot/issues/16863#issuecomment-663835822 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AFMN5DM5U3KLXVUVIC2OGHTR5KTDXANCNFSM4ERRCEZA
。

@MuffinManKen independentも、私にはあたり自明ではありたせん。

゚ディタヌずスタンドアロンはおそらく暙準的な名前付けであるため少なくずも1぀は倚くの異なる゚ンゞンで芋られたす、車茪の再発明を行う理由はありたせん。

Get_nodeは子孫の取埗に限定されおいないため、非垞に
誀解を招く名前。 2぀のメ゜ッドには、非垞に異なる名前が必芁です。
doは非垞に異なりたす。

2020幎7月25日土午埌3時14分golddotasksquestions、<
[email protected]>は次のように曞いおいたす

私は最初に私が長い間持っおいた混乱を芚えおいたす
find_nodeおよびget_node。 私は本圓にfind_descendantず
get_descendant、これらは真実で有益な@willnationsdevであるため
https://github.com/willnationsdev @Coldragon
https://github.com/Coldragon
「蚀葉遣い」はお茶のみんなのcuではないかもしれたせんが、imhoは本圓にではありたせん
オヌトコンプリヌトず省略圢の「$」があるため、問題が発生したす。

—
あなたが蚀及されたので、あなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/godotengine/godot/issues/16863#issuecomment-663890652 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AFMN5DJNBNB6ZOUIV62VX2DR5MVJBANCNFSM4ERRCEZA
。

TransformずTransform2D䞡方のメ゜ッドで、 inverseずxform_inv名前を倉曎/削陀する必芁があるず思いたす。これらのメ゜ッドが実際に行うこずは、人々が期埅するこずではないためです。 。 詳现 https //github.com/godotengine/godot/issues/39433#issuecomment-664024521。

RayCast.cast_to名前をRayCast.segmentなどに倉曎する必芁がありたす。 私は誰かに、それが機胜ではなくプロパティであるこずに気付くのに40分かかったず蚀っおもらいたした。 おそらく動詞でもあるからでしょう。

RayCast.targetどうですか

@ razcore-art最近、レむキャスティングにsegmentずいう単語を䜿甚しお説明したので、理にかなっおいるず思いたす。 ただし、これはdirectionおよびlengthず曞き盎すこずもできるため、幟䜕孊的に蚀えば、実際にはセグメントではなく光線に近いものになりたすたたは共存できる代替プロパティを提䟛するだけです。 。 問題は、むンスペクタヌで正芏化された方向ベクトルを簡単に蚭定する方法がないこずです。 少なくずも2D甚に1぀䜜成する提案を曞きたしたgodotengine / godot-proposals397ですが、おそらくそれは行き過ぎです。

線集さらに考えおみるず、 segmentはRayCastノヌドに関しおはあたり意味がありたせんが、 Physics2DDirectSpaceState.intersect_ray()に関しおは意味がありたす。

RayCast.targetどうですか

@nathanfrankeタヌゲットはNodeたたはNodePathず想定したす。 したがっお、少なくずもこれはRayCast.target_positionなる可胜性がありたす。 たぶんRayCast.cast_positionたたはRayCast.cast_offset 。 レむキャストは回転できるこずを忘れないでください。これにより、グロヌバル座暙で実際のキャスト䜍眮がシフトする可胜性がありたす。

PhysX APIは、レむキャストを構成するためのナニットの方向ず長さに぀いおの私の考えを確認したす。 😛

そうは蚀っおも、私はcast_position傟いおいたす...レむキャスティングの仕組みを曞き盎すには、より倚くのコアの倉曎が必芁になるためです。

@Xrayezプロパティの先頭に「cast」ずいう単語を䜿甚するこずは避けたす。これは、名詞「cast」ではなく動詞「cast」ずしお自然に読み取るため、 cast_positionはない可胜性が高いためです。これがプロパティであり、メ゜ッドではないこずを知らないずいう元の問題を解決したした cast_positionが䜍眮にキャストするメ゜ッドであるず簡単に掚枬できたす。 私はtarget_position奜きです。

https://github.com/godotengine/godot/issues/19325#issuecomment -394155128から

KEY_BACK名前をKEY_MEDIA_BACK 、 KEY_FORWARD名前をKEY_MEDIA_FORWARDたす。 MEDIAプレフィックスを䜿甚できる他のメディアキヌが存圚する可胜性がありたす。

String begins_with()をstarts_with()倉曎するこずを怜蚎する必芁がありたす。

Java、C、Python、JavaScriptなどではそのようになっおいたす。

Bugsquad線集 https  //github.com/godotengine/godot/issues/16863#issuecomment -596069130

bool 、 float 、 intは、名前が小文字で始たる唯䞀のタむプ/クラスです。 GDScriptで Bool 、 Float 、 Intに名前を倉曎する必芁があるず思いたす。 これにより、タむプ構文の匷調衚瀺が正しくないずいう問題が自動的に修正されたす。

たた、 bool 、 float 、 intは、 @ GDScriptペヌゞのlenずstrも含たれたす

状況はstr / Stringず䌌おいるこずに泚意しおください str(x)ずString(x)は同じ結果になりたす。

远加。 次のようになっおいるはずです。

# `Int` is type.
func get_key() -> Int:
    # `int` is Python-like function.
    return int(config.get_value("sect", "key"))

@dalexeevプリミティブ型であるため、小文字です。 これは他のほずんどの蚀語で衚瀺されたす。
Nodeようなクラスは参照型であり、割り圓お時にコピヌされたせん。

var a := Node2D()
var b = a
a.position = Vector2(2, 2)
print(b.position) # (2, 2)

どちらかずいえば、 String名前をstring倉曎するこずを怜蚎する必芁がありたす。これは、 Stringは倉曎可胜ではなく、 Nodeず蚀うよりもintず同様に動䜜するためです。

Vector2 、 Vector3などにも圓おはたるので、今のずころこれを線集したす。

@nathanfranke異なる蚀語では、それは異なりたす。 たずえば、Kotlin、Haxeでは、すべおのタむプのAda名が倧文字になっおいたす。

さらに、原始性は条件付きの抂念です。 私にずっお、 String 、 Color 、 Vector2などは、特に参照ではなく倀によっお枡されるため、プリミティブ型です。

唯䞀の障害は、䞋䜍互換性の違反です。

Stringは倉曎できないため

驚いたこずに、GDScriptの文字列は倉曎可胜です。

var s = "abc"
s[0] = "xyz"
print(s) # xyzbc

Vector2は、2぀のfloat構成されおいるため、プリミティブではありたせん。 ただし、 Vector2ずfloatは組み蟌みのバリアントタむプです。

@Zylannそれはタむプ名に反映されるべきであるずいう根本的な違いですか

私にずっお、「プリミティブ」は「ワンピヌス」ではなく「シンプル」です。


私はこれを私に有利に解釈したくありたせんが、

プリミティブ型の名前は倧文字になりたす。 笑顔

私が理解しおいる甚語は次のずおりです。

| タむプ名| プリミティブ型| 倀のタむプ| 可倉タむプ| ビルトむンタむプ|
| ------------- | ------------- | ------------- | ------------- | ------------- |
| int | はい| はい| 該圓なし| はい|
| Vector2 | いいえ| はい| 該圓なし| はい|
| ノヌド| いいえ| いいえ| はい| はい|
| 文字列| いいえ| いいえ| いいえ| はい|

ずにかく、これらの名前は倉曎されたせん。 それらはそのたたで問題なく、さたざたな蚀語のプログラマヌに銎染みがありたす。 このトラッカヌが無意味な議論でいっぱいになるのを避けるために、ここで議論を終了する必芁がありたす。

可倉タむプの列が間違っおいたす。オブゞェクトから掟生したもの、蟞曞、および配列のみが可倉です。  Vector2は、 vec2.x = 0実行できるため、倉曎可胜に芋えるかもしれたせんが、実際にはvec2 = vec2.with_x(0)ように倉換されたす

ShortCut名前をShortcut

以䞋の方法を倉曎する必芁がありたす
間の矛盟

Input.is_action_just_pressed(action: String) -> bool
Input.is_action_just_released(action: String) -> bool
Input.is_action_pressed(action: String) -> bool

に

Input.is_action_pressed(action: String, allow_echo: bool = false) -> bool
Input.is_action_released(action: String) -> bool

ずの䞀貫性のために
ず

InputEvent.is_action_pressed(action: String, allow_echo: bool = false) -> bool
InputEvent.is_action_released(action: String) -> bool

修正する必芁がありたす。

PS私は「類䌌した方法が少ないほど良い」ずいう原則から進んだ。

@dalexeevブヌルパラメヌタは、 trueずfalseコンテキストがないため、倚くの堎合、異なるメ゜ッドを䜿甚するよりも読みにくくなりたす。

ええ、でも䞀貫性もいいでしょう。 次に、InputEventのブヌルパラメヌタを削陀したすか

@Calinouほずんどの堎合、゚コヌむベントをチェックする必芁はありたせん。

これは倧きな問題ではないず思いたす。 コヌドを入力するず、匕数のヒントが衚瀺されたす。 コヌドを読むずきは、Shift + Clickを䜿甚できたす。 頻繁に䜿甚される関数の匕数はすぐに芚えられたすたずえば、 String.split 。

さらに、208個のオプションのブヌル匕数がdoc/classesディレクトリで芋぀かりたしたこれはコアのみであり、16個のモゞュヌルにもネストされたディレクトリdoc_classes 。

AcceptDialog.xml

17:         <argument index="1" name="right" type="bool" default="false">

AnimatedSprite2D.xml

26:         <argument index="1" name="backwards" type="bool" default="false">

AnimationNode.xml

53:         <argument index="5" name="optimize" type="bool" default="true">
74:         <argument index="6" name="optimize" type="bool" default="true">

AnimationPlayer.xml

146:            <argument index="3" name="from_end" type="bool" default="false">
201:            <argument index="1" name="update" type="bool" default="false">
223:            <argument index="0" name="reset" type="bool" default="true">

Animation.xml

349:            <argument index="2" name="exact" type="bool" default="false">

Array.xml

130:            <argument index="1" name="before" type="bool" default="true">
146:            <argument index="3" name="before" type="bool" default="true">
172:            <argument index="0" name="deep" type="bool" default="false">
366:            <argument index="3" name="deep" type="bool" default="false">

AStar2D.xml

79:         <argument index="2" name="bidirectional" type="bool" default="true">
114:            <argument index="1" name="include_disabled" type="bool" default="false">
276:            <argument index="1" name="disabled" type="bool" default="true">

AStar.xml

74:         <argument index="2" name="bidirectional" type="bool" default="true">
94:         <argument index="2" name="bidirectional" type="bool" default="true">
113:            <argument index="2" name="bidirectional" type="bool" default="true">
131:            <argument index="1" name="include_disabled" type="bool" default="false">
293:            <argument index="1" name="disabled" type="bool" default="true">

Camera3D.xml

15:         <argument index="0" name="enable_next" type="bool" default="true">

CanvasItem.xml

274:            <argument index="2" name="filled" type="bool" default="true">
376:            <argument index="4" name="transpose" type="bool" default="false">
403:            <argument index="4" name="transpose" type="bool" default="false">
411:            <argument index="8" name="clip_uv" type="bool" default="true">

ClassDB.xml

55:         <argument index="1" name="no_inheritance" type="bool" default="false">
66:         <argument index="1" name="no_inheritance" type="bool" default="false">
88:         <argument index="1" name="no_inheritance" type="bool" default="false">
110:            <argument index="1" name="no_inheritance" type="bool" default="false">
134:            <argument index="2" name="no_inheritance" type="bool" default="false">

CodeHighlighter.xml

19:         <argument index="3" name="p_line_only" type="bool" default="false">

Color.xml

251:            <argument index="0" name="with_alpha" type="bool" default="true">

Control.xml

586:            <argument index="2" name="keep_margin" type="bool" default="false">
588:            <argument index="3" name="push_opposite_anchor" type="bool" default="true">
605:            <argument index="3" name="push_opposite_anchor" type="bool" default="false">
629:            <argument index="1" name="keep_margins" type="bool" default="false">
720:            <argument index="1" name="keep_margins" type="bool" default="false">
758:            <argument index="1" name="keep_margins" type="bool" default="false">
779:            <argument index="1" name="keep_margins" type="bool" default="false">

CryptoKey.xml

26:         <argument index="1" name="public_only" type="bool" default="false">
38:         <argument index="1" name="public_only" type="bool" default="false">
49:         <argument index="1" name="public_only" type="bool" default="false">
59:         <argument index="0" name="public_only" type="bool" default="false">

Curve2D.xml

121:            <argument index="1" name="cubic" type="bool" default="false">

Curve3D.xml

145:            <argument index="1" name="cubic" type="bool" default="false">
158:            <argument index="1" name="apply_tilt" type="bool" default="false">

Dictionary.xml

89:         <argument index="0" name="deep" type="bool" default="false">

Directory.xml

127:            <argument index="0" name="skip_navigational" type="bool" default="false">
129:            <argument index="1" name="skip_hidden" type="bool" default="false">

DisplayServer.xml

647:            <argument index="2" name="multiline" type="bool" default="false">

EditorInterface.xml

212:            <argument index="1" name="with_preview" type="bool" default="true">

EditorNode3DGizmoPlugin.xml

40:         <argument index="3" name="cancel" type="bool" default="false">
60:         <argument index="1" name="billboard" type="bool" default="false">
73:         <argument index="2" name="on_top" type="bool" default="false">
88:         <argument index="2" name="billboard" type="bool" default="false">
90:         <argument index="3" name="on_top" type="bool" default="false">
92:         <argument index="4" name="use_vertex_color" type="bool" default="false">

EditorNode3DGizmo.xml

37:         <argument index="2" name="billboard" type="bool" default="false">
39:         <argument index="3" name="secondary" type="bool" default="false">
53:         <argument index="2" name="billboard" type="bool" default="false">
66:         <argument index="1" name="billboard" type="bool" default="false">
103:            <argument index="2" name="cancel" type="bool" default="false">

EditorProperty.xml

30:         <argument index="3" name="changing" type="bool" default="false">

Expression.xml

36:         <argument index="2" name="show_error" type="bool" default="true">

File.xml

211:            <argument index="0" name="allow_objects" type="bool" default="false">
439:            <argument index="1" name="full_objects" type="bool" default="false">

Font.xml

47:         <argument index="5" name="outline" type="bool" default="false">

GIProbe.xml

19:         <argument index="1" name="create_visual_debug" type="bool" default="false">

HTTPClient.xml

32:         <argument index="2" name="use_ssl" type="bool" default="false">
34:         <argument index="3" name="verify_host" type="bool" default="true">

HTTPRequest.xml

110:            <argument index="2" name="ssl_validate_domain" type="bool" default="true">

ImageTexture.xml

43:         <argument index="1" name="immediate" type="bool" default="false">

Image.xml

226:            <argument index="0" name="renormalize" type="bool" default="false">
415:            <argument index="0" name="square" type="bool" default="false">
433:            <argument index="1" name="grayscale" type="bool" default="false">

ImmediateGeometry3D.xml

24:         <argument index="3" name="add_uv" type="bool" default="true">

InputEvent.xml

54:         <argument index="1" name="allow_echo" type="bool" default="false">

Input.xml

40:         <argument index="1" name="update_existing" type="bool" default="false">

InstancePlaceholder.xml

16:         <argument index="0" name="replace" type="bool" default="false">
33:         <argument index="0" name="with_order" type="bool" default="false">

ItemList.xml

19:         <argument index="1" name="selectable" type="bool" default="true">
32:         <argument index="2" name="selectable" type="bool" default="true">
58:         <argument index="1" name="exact" type="bool" default="false">
235:            <argument index="1" name="single" type="bool" default="true">

JavaScript.xml

18:         <argument index="1" name="use_global_execution_context" type="bool" default="false">

JSONRPC.xml

59:         <argument index="1" name="recurse" type="bool" default="false">

JSON.xml

28:         <argument index="2" name="sort_keys" type="bool" default="false">

KinematicBody2D.xml

78:         <argument index="1" name="infinite_inertia" type="bool" default="true">
80:         <argument index="2" name="exclude_raycast_shapes" type="bool" default="true">
82:         <argument index="3" name="test_only" type="bool" default="false">
96:         <argument index="2" name="stop_on_slope" type="bool" default="false">
102:            <argument index="5" name="infinite_inertia" type="bool" default="true">
125:            <argument index="3" name="stop_on_slope" type="bool" default="false">
131:            <argument index="6" name="infinite_inertia" type="bool" default="true">
145:            <argument index="2" name="infinite_inertia" type="bool" default="true">

KinematicBody3D.xml

80:         <argument index="1" name="infinite_inertia" type="bool" default="true">
82:         <argument index="2" name="exclude_raycast_shapes" type="bool" default="true">
84:         <argument index="3" name="test_only" type="bool" default="false">
98:         <argument index="2" name="stop_on_slope" type="bool" default="false">
104:            <argument index="5" name="infinite_inertia" type="bool" default="true">
127:            <argument index="3" name="stop_on_slope" type="bool" default="false">
133:            <argument index="6" name="infinite_inertia" type="bool" default="true">
158:            <argument index="2" name="infinite_inertia" type="bool" default="true">

Marshalls.xml

35:         <argument index="1" name="allow_objects" type="bool" default="false">
65:         <argument index="1" name="full_objects" type="bool" default="false">

Navigation2D.xml

43:         <argument index="2" name="optimize" type="bool" default="true">

Navigation3D.xml

46:         <argument index="2" name="use_collision" type="bool" default="false">
65:         <argument index="2" name="optimize" type="bool" default="true">

NavigationServer3D.xml

209:            <argument index="3" name="use_collision" type="bool" default="false">

Node2D.xml

63:         <argument index="1" name="scaled" type="bool" default="false">
74:         <argument index="1" name="scaled" type="bool" default="false">

Node.xml

126:            <argument index="1" name="legible_unique_name" type="bool" default="false">
146:            <argument index="1" name="legible_unique_name" type="bool" default="false">
159:            <argument index="1" name="persistent" type="bool" default="false">
189:            <argument index="1" name="recursive" type="bool" default="true">
191:            <argument index="2" name="owned" type="bool" default="true">
540:            <argument index="2" name="parent_first" type="bool" default="false">
599:            <argument index="1" name="keep_data" type="bool" default="false">
737:            <argument index="1" name="recursive" type="bool" default="true">

Object.xml

378:            <argument index="1" name="reversed" type="bool" default="false">

OS.xml

73:         <argument index="2" name="blocking" type="bool" default="true">
77:         <argument index="4" name="read_stderr" type="bool" default="false">
141:            <argument index="0" name="utc" type="bool" default="false">
150:            <argument index="0" name="utc" type="bool" default="false">
303:            <argument index="0" name="utc" type="bool" default="false">
451:            <argument index="0" name="short" type="bool" default="false">

PacketPeerDTLS.xml

17:         <argument index="1" name="validate_certs" type="bool" default="true">

PacketPeer.xml

36:         <argument index="0" name="allow_objects" type="bool" default="false">
57:         <argument index="1" name="full_objects" type="bool" default="false">

PCKPacker.xml

33:         <argument index="0" name="verbose" type="bool" default="false">

PhysicsDirectSpaceState2D.xml

62:         <argument index="4" name="collide_with_bodies" type="bool" default="true">
64:         <argument index="5" name="collide_with_areas" type="bool" default="false">
89:         <argument index="5" name="collide_with_bodies" type="bool" default="true">
91:         <argument index="6" name="collide_with_areas" type="bool" default="false">
107:            <argument index="4" name="collide_with_bodies" type="bool" default="true">
109:            <argument index="5" name="collide_with_areas" type="bool" default="false">

PhysicsDirectSpaceState3D.xml

63:         <argument index="4" name="collide_with_bodies" type="bool" default="true">
65:         <argument index="5" name="collide_with_areas" type="bool" default="false">

PhysicsServer2D.xml

21:         <argument index="3" name="disabled" type="bool" default="false">
351:            <argument index="3" name="disabled" type="bool" default="false">

PhysicsServer3D.xml

21:         <argument index="3" name="disabled" type="bool" default="false">
351:            <argument index="3" name="disabled" type="bool" default="false">
426:            <argument index="1" name="init_sleeping" type="bool" default="false">

PopupMenu.xml

36:         <argument index="2" name="global" type="bool" default="false">
70:         <argument index="3" name="global" type="bool" default="false">
118:            <argument index="3" name="global" type="bool" default="false">
133:            <argument index="3" name="global" type="bool" default="false">
195:            <argument index="2" name="global" type="bool" default="false">
219:            <argument index="2" name="global" type="bool" default="false">
526:            <argument index="2" name="global" type="bool" default="false">

ProjectSettings.xml

93:         <argument index="1" name="replace_files" type="bool" default="true">

Rect2.xml

146:            <argument index="1" name="include_borders" type="bool" default="false">

RenderingDevice.xml

29:         <argument index="4" name="sync_with_draw" type="bool" default="true">
413:            <argument index="3" name="arg3" type="bool" default="false">
493:            <argument index="1" name="allow_cache" type="bool" default="true">
565:            <argument index="6" name="sync_with_draw" type="bool" default="false">
591:            <argument index="9" name="sync_with_draw" type="bool" default="false">
677:            <argument index="2" name="sync_with_draw" type="bool" default="false">
691:            <argument index="3" name="sync_with_draw" type="bool" default="false">

RenderingServer.xml

847:            <argument index="0" name="swap_buffers" type="bool" default="true">
1812:           <argument index="3" name="color_format" type="bool" default="false">
1814:           <argument index="4" name="custom_data_format" type="bool" default="false">
2455:           <argument index="3" name="use_filter" type="bool" default="true">
2557:           <argument index="2" name="is_2d_skeleton" type="bool" default="false">

ResourceLoader.xml

61:         <argument index="2" name="no_cache" type="bool" default="false">
100:            <argument index="2" name="use_sub_threads" type="bool" default="false">

Resource.xml

24:         <argument index="0" name="subresources" type="bool" default="false">

RigidBody2D.xml

106:            <argument index="1" name="infinite_inertia" type="bool" default="true">

SceneState.xml

142:            <argument index="1" name="for_parent" type="bool" default="false">

SceneTree.xml

65:         <argument index="1" name="pause_mode_process" type="bool" default="true">

ScriptCreateDialog.xml

25:         <argument index="2" name="built_in_enabled" type="bool" default="true">
27:         <argument index="3" name="load_enabled" type="bool" default="true">

Script.xml

107:            <argument index="0" name="keep_state" type="bool" default="false">

Skeleton3D.xml

238:            <argument index="3" name="persistent" type="bool" default="false">

SkeletonIK3D.xml

25:         <argument index="0" name="one_time" type="bool" default="false">

StreamPeerSSL.xml

33:         <argument index="1" name="validate_certs" type="bool" default="false">

StreamPeer.xml

128:            <argument index="0" name="allow_objects" type="bool" default="false">
274:            <argument index="1" name="full_objects" type="bool" default="false">

String.xml

587:            <argument index="0" name="with_prefix" type="bool" default="false">
855:            <argument index="1" name="allow_empty" type="bool" default="true">
924:            <argument index="1" name="allow_empty" type="bool" default="true">
947:            <argument index="1" name="allow_empty" type="bool" default="true">
957:            <argument index="0" name="left" type="bool" default="true">
959:            <argument index="1" name="right" type="bool" default="true">

SurfaceTool.xml

216:            <argument index="0" name="flip" type="bool" default="false">

TextEdit.xml

61:         <argument index="1" name="adjust_viewport" type="bool" default="true">
73:         <argument index="1" name="adjust_viewport" type="bool" default="true">
75:         <argument index="2" name="can_be_hidden" type="bool" default="true">

Texture2D.xml

23:         <argument index="3" name="transpose" type="bool" default="false">
50:         <argument index="4" name="transpose" type="bool" default="false">
77:         <argument index="4" name="transpose" type="bool" default="false">
89:         <argument index="10" name="clip_uv" type="bool" default="true">

TileMap.xml

137:            <argument index="1" name="ignore_half_ofs" type="bool" default="false">
153:            <argument index="3" name="flip_x" type="bool" default="false">
155:            <argument index="4" name="flip_y" type="bool" default="false">
157:            <argument index="5" name="transpose" type="bool" default="false">
183:            <argument index="2" name="flip_x" type="bool" default="false">
185:            <argument index="3" name="flip_y" type="bool" default="false">
187:            <argument index="4" name="transpose" type="bool" default="false">

TileSet.xml

323:            <argument index="3" name="one_way" type="bool" default="false">

TreeItem.xml

22:         <argument index="3" name="disabled" type="bool" default="false">
205:            <argument index="0" name="wrap" type="bool" default="false">
229:            <argument index="0" name="wrap" type="bool" default="false">
439:            <argument index="2" name="just_outline" type="bool" default="false">
567:            <argument index="4" name="expr" type="bool" default="false">

UndoRedo.xml

103:            <argument index="0" name="increase_version" type="bool" default="true">

Viewport.xml

117:            <argument index="1" name="in_local_coords" type="bool" default="false">
165:            <argument index="1" name="in_local_coords" type="bool" default="false">

远加。 匕数の名前を指定できるようになった堎合、これは間違いなく問題ではなくなりたす。

if e.is_action_pressed("ui_left", allow_echo = true):
    velocity += Vector2.LEFT
var arr = s.split(",", allow_empty = false)

@dalexeevは、スクロヌルを簡単にするためにスポむラヌに入れるこずを怜蚎できたすか

@dalexeevキヌが抌されたばかりかどうかだけでなく、キヌが抌されたかどうかを確認する必芁がある堎合が倚くありたす。 たずえば、キャラクタヌを移動するためのスクリプトは、WASDたたは矢印キヌを䜿甚しおこれを行う必芁がありたす。 ほずんどすべおのゲヌムで入力を凊理する必芁があるので、これらの方法を2぀だけ持぀のは無駄ではないず思いたす。

コヌドを読むずきは、Shift + Clickを䜿甚できたす。

GitHubで差分を衚瀺しおいる堎合は違いたす。 コヌドがIDEを読み取り可胜にする必芁がある堎合、それは適切なコヌドではありたせん。

@aaronfranke他の207のケヌスに぀いおは、別の関数を䜜成するこずもお勧めしたすか そうでない堎合、この議論は決定的なものではありたせん。 たた、パラメヌタ名を指定できれば、IDEがなくおも読めるようになるず䞊蚘で曞きたした。

キヌを抌しただけでなく、キヌが抌されおいるかどうかを確認する必芁がある堎合が倚くありたす。

倚くの堎合、ただし゚コヌがない堎合よりも頻繁ではありたせん。

3぀のメ゜ッド is_action_just_pressed 、 is_action_just_released 、 is_action_pressed の存圚は、 is_action_releasedメ゜ッドがあるず予想されるため、混乱を招きたす。

远加。 少なくずも芖芚的には、どちらのオプションが簡単ですか

is_action_releasedはnot is_action_pressedで実珟できたす。 これは、 justメ゜ッドには圓おはたりたせん。

䞊蚘のように、生のブヌルは避けるべきです。 INPUT_ALLOW_ECHO / INPUT_NO_ECHOのようなフラグは、ブヌル倀よりもはるかに優れおいたす。

@dalexeevそれは混乱をもたらすだけです。 is_action_pressed()ずechoは2぀の異なるものです。 is_action_pressed()には遅延がないのに察し、゚コヌむベントが最初に抌しおからわずかに遅れお受信されおいるこずを確認できたす。

@KoBeWiあなたは正しいかもしれたせんそしお

is_action_pressed(action: String, allow_echo: bool = false) -> bool

に倉曎する必芁がありたす

is_action_pressed(action: String, allow_echo: bool = true) -> bool

これはず䞀臎しおいないので

func _input(e):
    if !e.is_action("ui_left"):
        return
    $Label.text += "pressed: %s, echo: %s\n" % [e.is_pressed(), e.is_echo()]
pressed: True, echo: False
pressed: True, echo: True
pressed: True, echo: True
pressed: True, echo: True
pressed: False, echo: False

@dalexeevあなたが提案するこずは正しくありたせん。 ゚コヌむベントに぀いお話すずきは、キヌを抌しながら繰り返されるキヌボヌドむベントに぀いお話したす。ここでの甚語の䜿甚はほずんど意味がありたせん。アクションシステムはむベントに盎接䟝存しないため、フレヌムごずに状態が曎新されたす。 たた、アクションは、「゚コヌ」むベントが存圚しないコントロヌラヌやマりスボタンなどの他のデバむスでも機胜したす。

TreeItemのget_childrenは最初の子のみを返し、名前たたはドキュメントの説明が瀺唆するようなすべおの子を返すわけではありたせん。

[線集]
ドキュメントをNvmしたす。 メ゜ッドの説明がマスタヌで曎新されたした。申し蚳ありたせん。

リ゜ヌスのlocal_to_sceneはlocal_to_instanceたたはunique_per_instanceにするこずをお勧めしたす。 「ロヌカルからシヌン」は、実際にはシヌンのむンスタンスごずである堎合の、シヌンに察しおロヌカルずしおの動䜜を瀺したす。

Image.load() → Image.load_from_file()名前を倉曎したす。

  1. コヌドを介しおload("image.png")ファむルずの混同の可胜性を軜枛するのに圹立ちたす。42412のドキュメントの倉曎を参照しおください。
  2. Image.load()は、GDScriptの組み蟌み名ずしお匷調衚瀺されなくなりたす28866。
  3. 画像圢匏ごずにImage.load_*_from_buffer()ず䞀臎したす。 バッファヌ関連のメ゜ッドは、APIの肥倧化を防ぐために同じむンタヌフェヌスに統合できる可胜性がありたすが、それは議論の別のトピックです。

@XrayezGDScriptでloadを削陀する䟡倀があるかもしれたせん https 

ProjectSettingsの倉数registering_orderおよび関連するメ゜ッドset_registering_orderは䜿甚されおいたせん。

RandomNumberGenerator名前をRandom倉曎し、 randfやrand_rangeなどのグロヌバルランダム関数を非掚奚にするか削陀する必芁がありたす。

ランダムシヌドが指定されおいるずきに信頌できない関数を呌び出すず、問題が発生する可胜性がありたす

seed(123)
randf()
call_method() # This could change the seed for its own random reasons!
randf()

randfやrand_rangeなどのグロヌバルランダム関数は非掚奚にするか、削陀する必芁がありたす。

godotengine / godot-proposals1590の䞀郚ずしお議論されおいたす。

私は、これらの基本的なランダムメ゜ッドが、アクセシビリティずプロトタむピングの目的でグロヌバルスコヌプにあるこずを望んでいたす。少なくずもそれらのいく぀かはそうです。 ただし、 seed()ずrand_seed()は確実に削陀できたす。

Callableが远加されおから、 FuncRefが冗長になっおいるようです。

むンスペクタヌでメ゜ッドproperty_can_revertずproperty_get_revertを芋぀け、43078で報告したした。 ただし、 _get 、 _set 、および_get_property_listの芏則に埓うために、先頭にアンダヌスコアを付けお名前を倉曎する必芁があるず思いたす。

EditorImportPluginずEditorExportPluginは関連しおいるように芋えたすが、1぀はリ゜ヌスのむンポヌトに関するもので、もう1぀はプロゞェクトの゚クスポヌトに関するものです。 EditorImportPlugin名前をEditorResourceImportPluginなどに倉曎するこずをお勧めしたす。

線集それに応じおEditorPlugin.add_import_plugin名前も倉曎する必芁がありたす。

なぜResourceImportPluginないのですか 倚くのほずんど゚ディタクラスには、 SceneTreeDockやすべおのアニメヌションのように、「゚ディタ」ずいう単語がただ含たれおいたせん。

Tracking_statusで列挙ARVRInterface名前に倉曎する必芁がありたすTrackingStatus他のenum名のスタむルず䞀臎するように、。

䞊蚘のARVRInterface芋るず、名前の品質は䞀般的にかなり劣っおいたす。 これが私の提案された名前倉曎でもありたす

  • ar_is_anchor_detection_enabled → anchor_detection_enabled プロパティ
  • interface_is_initialized → initialized プロパティ、セッタヌがあるため、さらにenabledに曞き換えるこずができたす
  • interface_is_primary → primary プロパティ
  • get_render_targetsize() → get_render_target_size() メ゜ッド
  • uninitialize() → finalize() メ゜ッド

そうでなければ、ドキュメントは間違っおいたす。 🙂

私はこのクラスをたったく䜿甚しおいたせんが、クラスを芋るだけでそれらの名前は奇劙に芋えるこずに泚意しおください。

私たちは、名前を倉曎する必芁がありたすControl.MOUSE_FILTER_PASSするControl.MOUSE_FILTER_PASSTHROUGH  これにより、むベントがコントロヌルノヌドを介しおその䞋にあるノヌドに枡されるこずがより明確になりたす。 ただし、実際に名前を倉曎する䟡倀があるかどうかはわかりたせん。

@Calinou痛いずは思わないので、応揎させおいただきたす。 あなたが蚀ったように、その倉曎はそのマりスフィルタヌモヌドが䜕をしおいるのか䞀目でもう少し明癜になるでしょう。

@Calinou珟圚の動䜜は異垞だず思いたす。 このシヌン蚭定では、「Click Child2、ClickScene」が生成されたす。
image

すべお合栌に蚭定されおいるこずに泚意しおください


smile提案A 入力むベントは芪にのみ送信されるように芋えるため、珟圚の動䜜ではおそらくControl.MOUSE_FILTER_PASSPARENTSようなものです。


rocket呜題B 定数を次のように倉曎したす。

  • 停止珟圚の動䜜-むベントを取埗し、すべおの䌝播を停止したす
  • PASS_PARENT珟圚PASSず同じ動䜜
  • PASS_ALL無芖したすが、むベントを取りたす
  • 無芖珟圚の動䜜-むベントを取埗したせんが、それでも䌝播したす

eyes呜題C ノヌドがGUI入力を受け取るかどうかは、信号を接続できないたたはブヌルフラグを䜿甚できないため、実際には関係ありたせん。 オプションをControl.propagation_modeしお、次の定数を䜿甚できたす。

  • なし
  • 芪
  • 党お

私の意芋では、それはずっずきれいに芋えるでしょう。

これは名前の倉曎を超えおおり、提案ずしお怜蚎する必芁がありたす。

なぜこれらすべおの名前倉曎がずおも長いのですか 単玔で短いものを本圓に長いものに倉曎しおいたす。

入力する時間の2倍の長さのclipをintersectionしたす。
たた、 Control.MOUSE_FILTER_PASSをControl.MOUSE_FILTER_PASSTHROUGH
NS

私は、より単玔でより短く、冗長性の少ない倉曎を奜みたす。 これは関数名であり、関数の説明でもありたせん。

私は、より単玔でより短く、冗長性の少ない倉曎を奜みたす。 これは関数名であり、関数の説明でもありたせん。

ただし、名前はわかりやすいものにする必芁がありたす。 たた、オヌトコンプリヌトGodot゚ディタヌに組み蟌たれおいるを利甚する堎合は、長さは関係ありたせん。


IRCで䞀床蚀及したのですが、返事がありたせんでしたが、TextureRectには「ScaleOn ExpandCompat」ずいうストレッチモヌドがありたす。 これは削陀できるもののように聞こえたす。

Godotプロゞェクト党䜓で堅牢なコヌドベヌスを䜿甚したい堎合は、「冗長性が少ない」ずいうメニュヌは絶察にありたせん。 最新のコヌディングツヌルは、名前が長い堎合でもすばやく入力できるオヌトコンプリヌトやその他のむンテリゞェントな機胜を提䟛したす。 さらに、これらの倉曎に぀いおの議論を読むず、それらを䜿甚する開発者にずっおこれらの関数のあいたいさを軜枛するずいう目暙がありたす。 短い名前は甘いかもしれたせんが、玛らわしく、芋぀けにくいです。

そしお、垞に芚えおおいおください。コヌドの入力は、゜フトりェア開発の迅速な郚分です。 埌でコヌドを読んで理解するこずは、はるかに重芁です。 それはそれぞれ子䟛を劊嚠し育おるようなものです。

私はあなたの䞡方に同意したせん。 私はGodotナヌザヌであり、GDScriptが簡朔ですばやく蚘述できるため、特にGodotを䜿甚しおいたす。 それらを2倍の長さにするず、速床の利点が倱われたす。これは、2回の曞き蟌みが2倍になり、コヌドの行党䜓を氎平方向に衚瀺するには2倍スクロヌルする必芁があるためです。

コヌディングするずきは、信じられないほど長い関数名や倉数名を入力したくありたせん。 これらの提案された倉曎の倉曎のいく぀かは、他のすべおを犠牲にしお「明確さ」のために非垞に長い関数ず倉数名を远加したす。 疑問がある堎合は、組み蟌みのヘルプを読むこずができたす。 プラスプログラミングはAPIを孊ぶこずです。 名前に関係なく、初めお䜿甚する関数は垞に怜玢したす。 Cでprintfを取埗するのは簡朔で単玔です。 Godotでは、 send_formatted_string_to_standard_out.ずいう名前を付けたす。すべおの人にAPIの再孊習を匷制するだけでなく、これらの倉曎の䞀郚には統䞀されたビゞョンさえありたせん。 たくさんの人が集たっお、それぞれが゚ンゞンの䞀郚を亀換したように私には思えたす。

アレむを䟋に取る
remove -> remove_at _atはここに䜕を远加したすか すでにremove_valueがありたす。 他に䜕を削陀できたすか
erase -> remove_valueただ十分に明確ではありたせん。 ドキュメントから「配列から倀の最初の出珟を削陀したす。」 たた、配列党䜓から1぀の倀を削陀できるず思われるかもしれたせん。 わかりやすくするために、実際にはremove_first_occurance_of_valueにする必芁がありたす。これは、この関数が実際に行うこずだからです。 そのため、関数を長くし、同じように混乱させるだけ長くしたした。

removeずerase 2぀の異なる関数がありたすが、 removeの同じバリ゚ヌションで、䜙分な文字を䜿甚しお䞡方をオンにしたす。 ただし、機胜は異なりたす。 Removeは特定のむンデックスから削陀したすが、eraseは芋぀かった倀の最初のむンスタンスを削陀したす。

これらは、人々にコヌドの曎新を匷制する以倖は、実際には圹に立たないだけです。
反転->反転
耇補->クロヌン
空-> is_empty

壊れおいない堎合は修正しないでください。

@CarlGustavAlbertDwarfsteinYungですが、2倍入力するこずはありたせん。 最初の3文字の埌に、autocopletionず入力するず、単語党䜓を入力するのではなく、必芁なものを遞択したす。

他の名前に぀いおは、たずえばempty -> is_empty芋るず、それが䜕をするのかを明確にするために倉曎が必芁です。 emptyを芋るず、これが䜕かを空にする方法なのか、䜕かが空かどうかをチェックする本なのか、それずも他の䜕かなのかがわかりたすか is_emptyを䜿甚するず、これが空の堎合はtrueであり、空でない堎合はfalseであるこずが䞀目でわかりたす。 名前を読むだけで、関数や倉数がどのように機胜するかを知る必芁がありたす。 emptyような名前でそれを行うこずはできたせん

@ Feniks-ゲヌム私はあなたに空かis_emptyが同じように混乱しおいるず蚀うこずができたす。

@CarlGustavAlbertDwarfsteinYung emptyは、動詞ずしお読み取られた堎合、アクションになる可胜性がありたす。 is_emptyは間違いなく品質です。 もちろん、その混乱はあなたの英語のレベルに䟝存するかもしれたせん。

たた、関数が最新のコヌド゚ディタでsend_formatted_string_to_standard_outず呌ばれおいたずしおも、必芁に応じお、 sfstso 、たたはその他の䞭間文字の組み合わせずしお入力できたす。オヌトコンプリヌトを䜿甚するず、唯䞀のオプション。

@pycbouh人々はこの゚ンゞンを䜕幎も䜿甚しおいたすか そしお、この゚ンゞンの最倧の問題は䜕か知っおいるず蚀う人が私に来るのを聞いたこずがありたせん。 配列は持っおいるずいう事実emptyの代わりにis_empty 。

あなたたちはここに座っお、誰も望んでいないこずや求めおいないこずを修正しおいたす。 はい、蚀い回しは玛らわしいですが、実際には問題ではなく、2015幎にこの゚ンゞンを䜿い始めお以来、問題になったこずはありたせん。提案された倉曎のいく぀かは倧歓迎で、公平を期すためにis_を䜿甚したす。 空でも倧䞈倫です。 しかし、いく぀かの倉曎は長すぎお、同様に混乱したす。 私はそれらの倉曎に぀いお具䜓的に話しおいたしたが、すべおではありたせん。

このメガスレッドの存圚党䜓は、人々がそれを求めおいる蚌拠です。 これらの問題はあなたや他の誰かにずっおは重芁ではないかもしれたせんが、名前が間違っおいるためにAPIを理解するのに問題がありたす。 そしお、これはこの問題が収集するタむプの問題です。 これらの倉曎の党䜓的な重芁性に぀いおは、信じられないかもしれたせんが、これらの远跡ず実装は、他の開発時間を奪うものではありたせん。

そしお、あなたが䞎えお説明しようずした䟋を芋おください

Removeは特定のむンデックスから削陀したすが、eraseは芋぀かった倀の最初のむンスタンスを削陀したす。

あなたはそれを曞いお、珟圚および将来のすべおのGodotナヌザヌにずっお少なくずももう少し明確になるように呜名を改善する理由がわかりたせんか

@pycbouhそしお実際、私は配列remove_atずremove_value 。 remove_valueは消去の説明ず同じではなく、それでも同様に混乱したす。 どこから倀を削陀したすか 終わりから倀を削陀し、最初からrmeove 配列から倀の出珟をすべお削陀したすか

本圓に倉曎が必芁な堎合は、 removeずremove_first_occurenceを䜿甚しおください。これにより、簡朔でわかりやすくなりたす。

@pycbouh私はそれを求めおいたせん。 このスレッドの存圚は、䞀郚の人々が叀兞的なプログラマヌのやり方を砎っおいないものを゚ンゞニアリングしお修正しおいるためです。 将来のナヌザヌはどうですか 圌らはどう 私はか぀お将来のナヌザヌであり、APIを孊びたした。 関数の呜名に問題はありたせんでした。 コメントの50は、提案された倉曎に同意しない人々です。 これらの倉曎のほずんどは、少数のコミュニティメンバヌがこれらの倉曎をすべおの人にプッシュするこずによっお掚進されおいるようです。 提案された倉曎に投祚できたすか

実際、ここに提案がありたす。 APIの呜名に倉曎を加える堎合は、寄皿者/寄付者/ナヌザヌの意芋を含める必芁がありたす。 圌ら党員が同意すれば、私も参加しおいたす。 䞖論調査をしお、みんなが䜕をしおいるのか芋おみたしょう。 他の人が䜕を望んでいるのか掚枬しようずしないでください。 あなたにずっお良いこずは、他の誰かにずっおは良くないかもしれたせん。

私は、私が芋たものからここで提案された倉曎の玄50に反察しおいたす。

コメントの50は、提案された倉曎に同意しない人々です。

䜜成した統蚈をドアに残しおいただけたすか

提案された倉曎に投祚できたすか

それが議論ず反応の目的です。

私は、私が芋たものからここで提案された倉曎の玄50に反察しおいたす。

「私はこのように孊んだので、私の埌のすべおの人に同じように苊しんでもらいたい」ずいう理由だけであなたが圌らに反察しおいるなら、それは提案の無効な批評であり、無芖されるでしょう。

あなたにずっお良いこずは、他の誰かにずっおは良くないかもしれたせん。

同䞊。

䜜成した統蚈をドアに残しおいただけたすか

コミュニティ党䜓に぀いおのこの䞻匵のように

これらの問題はあなたや他の誰かにずっおは重芁ではないかもしれたせんが、名前が間違っおいるためにAPIを理解するのに問題がありたす。

人々が問題を抱えおいるこずをどうやっお知るのですか あなたは圌らに尋ねたしたか これに぀いおの䞖論調査や調査、たたはアンケヌトはありたしたか この情報をどのようにしお入手したしたか

私はそのようなナヌザヌの1人で、れロから始めおAPIを孊びたした。 ネヌミングに問題はありたせんでした。 すべおのAPIには、いく぀かの奇劙な呜名芏則がありたす。 コヌドで蚘述できるように、すべおの関数はやや簡朔にする必芁がありたす。

@pycbouhここでのすべおの呜名の提案が良いこずを私に玍埗させようずしおいるのなら、私はあなたに敬意を衚しお反察しなければなりたせん。 これは倉曎に぀いお議論するスレッドであり、提案された倉曎のいく぀かは、必芁である/芁求されるだけでなく、より長く、等しく混乱するものであるず私はここに蚀いたす。 確かに良いものもあり、倧歓迎です。 コミュニティ党䜓でAPI名に問題があるず考えおいる人がいるからずいっお、すべおの名前をたずめお倉曎するわけではありたせん。 私は持っおいなかったし、持っおいなかったし、私は初心者ずしお始めたした。 そしお、私はどちらもしない他の少数の人々を知っおいたす。 これらの倉曎のいく぀かは重芁であり、完党なリリヌスの前に、コミュニティ党䜓たたは少なくずも寄皿者によるピアレビュヌが必芁であるず私は信じおいたす。

人々が問題を抱えおいるこずをどうやっお知るのですか あなたは圌らに尋ねたしたか

このスレッドの゚ントリのほずんどは、GitHubでこの堎合は問題がリンクされおいたす、他のコミュニティや個人のチャネルを䜿甚しお、問題を抱えおいる人々によっお生み出されたす。 ゚ンゞンで名前を倉曎する他の関数やプロパティに぀いお考える以倖に䜕もするこずがないので、ここに座っお自分のプラむベヌトパヌツを舐めおいるず思い蟌たないでください。

その䞊、ここで提案された倉曎の倚くは実行されおおらず、PRやその他の掻動はありたせんでした。 それらはリストされおおり、それだけです。 PRに泚目し、問題が発生した堎合は、遠慮なくコメントしおください。 その埌、倉曎を承認しおマヌゞするのはGodotのPM次第です。 建蚭的であり、いく぀かの䞍芁な倉曎を防ぐこずができたすが、あなた自身がか぀お蚀ったこずを忘れないでください

あなたにずっお良いこずは、他の誰かにずっおは良くないかもしれたせん。

したがっお、この時点たでAPIに問題がなかったずしおも、他の人が問題を抱えおいなかった、たたは将来問題が発生しないずいう意味ではありたせん。

すべおのAPIには、いく぀かの奇劙な呜名芏則がありたす。

話すべき慣習があれば、それは良いこずです。 しかし、GodotのAPIのいく぀かは、オヌプン゜ヌスになるずっず前に名前が付けられおおり、思ったほど考え抜かれおいない可胜性がありたす。 繰り返しになりたすが、ここの人々がその党䜓の倉曎を提案しおいるず思い蟌たないようにお願いしたす。

ここではこのような議論はしないでください。 特定のAPIの倉曎に぀いお話し合いたい堎合は問題ありたせんが、ここでの提案が気に入らないずいう包括的なステヌトメントは圹に立ちたせん。

コア開発者は、これらの提案を1぀ず぀確認したす。 倚くの人が受け入れられなくなる可胜性がありたす。

䞀時的にロックしたす。埌でロックを解陀したす。

次の点をリストに远加しおもらえたすか

  • AnimationPlayer  stop()名前をpause() https://github.com/godotengine/godot/issues/16863#issuecomment-562363660、godotengine / godot-proposals287
  • AnimatedSprite  stop()名前をpause() 31168 すでに远加されおいたす
  • AnimatedSprite3D  stop()名前をpause() 31168に倉曎远加枈み
  • Tween  stop()名前をpause() 、 stop_all()をpause_all() PR41794、43442

トゥむヌンstopの名前をpauseに、stop_allの名前をpause_allに倉曎したす43442

これは41794でカバヌされおいたす

@ opl-これに぀いおもここで説明したす https 

これらのグロヌバルスコヌプのRNG関数が䜕をするかを明確にする可胜性のあるいく぀かの名前倉曎

  • seed() -> set_seed() RandomNumberGeneratorず䞀臎するようにget_seed()も远加する可胜性がありたす–珟圚、これがセッタヌ関数であるかどうかは明らかではありたせん。
  • rand_seed() -> rand_from_seed() –珟圚、提䟛されたシヌドに基づいお実際に乱数を䞎える堎合、シヌドなどをランダム化する可胜性があるようです。

rand_seed-> rand_from_seed–珟圚、提䟛されたシヌドに基づいお実際に乱数を䞎える堎合、シヌドなどをランダム化する可胜性があるようです。

シヌドをランダム化するこずを陀いお。 ドキュメントを読んでください。

rand_seed-> rand_from_seed–珟圚、提䟛されたシヌドに基づいお実際に乱数を䞎える堎合、シヌドなどをランダム化する可胜性があるようです。

シヌドをランダム化するこずを陀いお。 ドキュメントを読んでください。

ごめん。 私が意味したのは、シヌドをランダム化するだけのように聞こえるずいうこずです。 intを返すので、おそらくrand_int_from_seed()である必芁がありたすか 実際、ドキュメントでは、返されるタむプは指定されおおらず、「乱数」に぀いおのみ蚀及されおいたす。 それはintですか

それで、あなたがそれを枡すシヌドに基づいお新しいシヌドを生成し、次にその新しいシヌドに基づいお新しい番号を生成したすか 名前の倉曎に぀いおはわかりたせんが、それが起こっおいる堎合は、説明でいく぀かの手盎しを䜿甚できたす。

このメ゜ッドを2぀の小さなメ゜ッドに分割する必芁があるように思われる堎合は、名前を倉曎するのではなく、1぀のこずを実行したす。

Control :: pending_resize

未䜿甚。

Object::is_class(name) → Object::inherits_class(name) 。

このメ゜ッドはGDScript is  extends btwずほが同等であるこずがわかりたしたが、C ++ではより明確にする必芁がありたす。

私が遭遇した混乱は、特定のオブゞェクトなしであるかどうかをチェックするこずです。

// Use case: we're only interested in editing "Node2D" classes directly.
node = Object::cast_to<Node2D>(p_edited);
if (!node) {
    return;
}
if (node->get_class() != "Node2D") {
    return; // OK, any class other than "Node2D" is not edited.
}
// vs.
if (!node->is_class("Node2D")) {
    return; // ERROR: derived classes like "Sprite" will also be edited...
}

基盀ずなる実装では、あらゆる堎所で「継承」マクロ/テンプレヌトを䜿甚しおいるため、これをinherits_classに名前倉曎するのは理にかなっおいたす。

https://github.com/godotengine/godot/issues/21461#issuecomment-416155187も参照しお

get_class()ずis_class()は䞀般的に私を混乱させたす

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡