ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ - Π²Π΅ΡΡΠΈΡ Godot:
Windows 10 x64 - Godot 2.1.2.ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ.ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ KinematicBody2D Ρ ΠΏΠΎΠΌΠΎΡΡΡ move() ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅ΡΠ° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ.
ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ/ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅ΡΠ°.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ:
func _ready():
set_fixed_process(true)
func _fixed_process(delta):
move(Vector2(0, 100))
move(Vector2(100, 0))
set_fixed_process(false)
Π Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΠΈΠ·, Π½ΠΎ Π½Π΅ Π²ΠΏΡΠ°Π²ΠΎ.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²Π½ΠΈΠ· Π ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡ ΠΏΠΎΠ΄ Π.
ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ΄ Π±ΡΠΊΠ²ΠΎΠΉ B ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ Π±ΡΠΊΠ²Ρ L (ΡΠ½Π°ΡΠ°Π»Π° Π²Π½ΠΈΠ·, Π·Π°ΡΠ΅ΠΌ Π²ΠΏΡΠ°Π²ΠΎ).
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅ΡΡ Π΄ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ ΠΎΠ½ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ B, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Π΄Π²ΠΈΠ³Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΏΡΠ°Π²ΠΎ.
ΠΠ±Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ:
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ _fixed_process Π½Π°:
func _fixed_process(delta):
move(Vector2(0, 100))
var st = get_shape_transform(0) # get current shape transform, assuming we only have 1 shape
st.o += get_travel() # add move translation to shape transform
set_shape_transform(0, st) # update shape transform
move(Vector2(100, 0))
# you should reset the shape transform to its original state befor returing
set_fixed_process(false)
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ # 7951, Π½ΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ @RandomShaper ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» :smiley:
ΠΠ°, ΡΡΠΎ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π― ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ # 7951, Π½ΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ @RandomShaper ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» :smiley: