diff --git a/3d/kinematic_char/level.scn b/3d/kinematic_char/level.scn index 785db19a..1d7e5a4a 100644 Binary files a/3d/kinematic_char/level.scn and b/3d/kinematic_char/level.scn differ diff --git a/3d/mousepick_test/engine.cfg b/3d/mousepick_test/engine.cfg new file mode 100644 index 00000000..093999a8 --- /dev/null +++ b/3d/mousepick_test/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="3D Mouse Picking Test" +main_scene="res://mousepick.scn" +icon="res://icon.png" diff --git a/3d/mousepick_test/icon.png b/3d/mousepick_test/icon.png new file mode 100644 index 00000000..264f991e Binary files /dev/null and b/3d/mousepick_test/icon.png differ diff --git a/3d/mousepick_test/mousepick.gd b/3d/mousepick_test/mousepick.gd new file mode 100644 index 00000000..cf3d9f1e --- /dev/null +++ b/3d/mousepick_test/mousepick.gd @@ -0,0 +1,32 @@ + +extends RigidBody + +# member variables here, example: +# var a=2 +# var b="textvar" + +var gray_mat = FixedMaterial.new() + +var selected=false + +func _input_event(event,pos,normal,shape): + if (event.type==InputEvent.MOUSE_BUTTON and event.pressed): + if (not selected): + get_node("mesh").set_material_override(gray_mat) + else: + get_node("mesh").set_material_override(null) + + selected = not selected + + +func _mouse_enter(): + get_node("mesh").set_scale( Vector3(1.1,1.1,1.1) ) + +func _mouse_exit(): + get_node("mesh").set_scale( Vector3(1,1,1) ) + +func _ready(): + # Initalization here + pass + + diff --git a/3d/mousepick_test/mousepick.scn b/3d/mousepick_test/mousepick.scn new file mode 100644 index 00000000..7ecac46a Binary files /dev/null and b/3d/mousepick_test/mousepick.scn differ