egy hazafi
2021.06.14
|
|
0 0
676
|
Igen, GDscript-ben írtam és olvastam is azt az oldalt.
Most így "oldottam meg" átmenetileg a problémát, de ez nyilván csak félmegoldás, mert kell lennie rá egy egy vagy kétsoros, sokkal egyszerűbb kódnak is:
func _process(delta): if (Input.is_mouse_button_pressed(BUTTON_LEFT) and get_node("../jatekosrobotja/robotkarja/robotfegyvere").lohet==true): if get_global_mouse_position().x<=position.x+32 and get_global_mouse_position().x>=position.x-32 and get_global_mouse_position().y<=position.y+32 and get_global_mouse_position().y>=position.y-32: var l=lovedek.instance() get_parent().add_child(l) var robotkar=get_node("../jatekosrobotja/robotkarja") var robotkarkep=get_node("../jatekosrobotja/robotkarja/robotfegyvere") l.rotation_degrees=robotkar.rotation_degrees-180 #l.position.x=robotkar.position.x-robotkarkep.texture.get_size().x*cos(robotkarkep.robotkarirany) #l.position.y=robotkar.position.y-robotkarkep.texture.get_size().y*sin(robotkarkep.robotkarirany) #l.position.x=robotkar.position.x+cos(deg2rad(360-l.rotation_degrees))*robotkarkep.texture.get_size().x #l.position.y=robotkar.position.y+sin(deg2rad(360-l.rotation_degrees))*robotkarkep.texture.get_size().y match robotkarkep.robotkarirany: 90: l.position.x=robotkar.position.x l.position.y=robotkar.position.y-robotkarkep.texture.get_size().x 135: l.position.x=robotkar.position.x-robotkarkep.texture.get_size().x+robotkarkep.texture.get_size().y l.position.y=robotkar.position.y-robotkarkep.texture.get_size().y*2 180: l.position.x=robotkar.position.x-robotkarkep.texture.get_size().x l.position.y=robotkar.position.y+robotkarkep.offset.y 225: l.position.x=robotkar.position.x-robotkarkep.texture.get_size().x+robotkarkep.texture.get_size().y/2 l.position.y=robotkar.position.y+robotkarkep.texture.get_size().y*1.5 270: l.position.x=robotkar.position.x l.position.y=robotkar.position.y+robotkarkep.texture.get_size().x get_node("../TextureRect").lovedektomb.append(l) robotkarkep.lohet=false robotkarkep.lovidozito.wait_time=1 robotkarkep.lovidozito.start()
Annyit érdemes még tudni, hogy a robotkarkep sprite XY koordinátája nem középen vagy bal oldalon, hanem jobb oldalon van, hogy rendesen a kar tövétől lehessen elforgatni. |
Előzmény: kisspetya (674)
|
|