[gd_scene load_steps=24 format=2] [ext_resource path="res://player.gd" type="Script" id=1] [ext_resource path="res://robot_demo.png" type="Texture" id=2] [ext_resource path="res://bullet.png" type="Texture" id=3] [ext_resource path="res://osb_left.png" type="Texture" id=4] [ext_resource path="res://osb_right.png" type="Texture" id=5] [ext_resource path="res://osb_jump.png" type="Texture" id=6] [ext_resource path="res://osb_fire.png" type="Texture" id=7] [ext_resource path="res://sound_shoot.wav" type="AudioStream" id=8] [ext_resource path="res://sound_jump.wav" type="AudioStream" id=9] [sub_resource type="Gradient" id=1] offsets = PoolFloatArray( 0, 1 ) colors = PoolColorArray( 0.708353, 0.72498, 1, 1, 1, 1, 1, 0 ) [sub_resource type="GradientTexture" id=2] gradient = SubResource( 1 ) width = 2048 [sub_resource type="ParticlesMaterial" id=3] trail_divisor = 1 emission_shape = 0 flag_align_y = false flag_rotate_y = false flag_disable_z = true spread = 65.84 flatness = 0.0 gravity = Vector3( 0, -15, 0 ) initial_velocity = 10.14 initial_velocity_random = 0.0 angular_velocity = 200.0 angular_velocity_random = 1.0 orbit_velocity = 0.0 orbit_velocity_random = 0.0 linear_accel = 100.0 linear_accel_random = 0.0 radial_accel = 0.0 radial_accel_random = 0.0 tangential_accel = 0.0 tangential_accel_random = 0.0 damping = 0.0 damping_random = 0.0 angle = 0.0 angle_random = 0.0 scale = 1.0 scale_random = 0.0 color_ramp = SubResource( 2 ) hue_variation = 0.0 hue_variation_random = 0.0 anim_speed = 0.0 anim_speed_random = 0.0 anim_offset = 0.0 anim_offset_random = 0.0 anim_loop = false [sub_resource type="Animation" id=4] length = 0.01 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0 ), "transitions": PoolFloatArray( 1 ), "update": 1, "values": [ 22 ] } [sub_resource type="Animation" id=5] length = 0.01 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0 ), "transitions": PoolFloatArray( 1 ), "update": 1, "values": [ 21 ] } [sub_resource type="Animation" id=6] length = 0.5 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0 ), "transitions": PoolFloatArray( 1 ), "update": 1, "values": [ 26 ] } [sub_resource type="Animation" id=7] length = 7.0 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), "transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 16, 17, 18, 16, 19, 20, 19, 16 ] } [sub_resource type="Animation" id=8] length = 0.5 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0 ), "transitions": PoolFloatArray( 1 ), "update": 1, "values": [ 25 ] } [sub_resource type="Animation" id=9] length = 0.5 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0, 0.25, 0.5 ), "transitions": PoolFloatArray( 1, 1, 1 ), "update": 1, "values": [ 23, 24, 23 ] } [sub_resource type="Animation" id=10] length = 0.5 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0 ), "transitions": PoolFloatArray( 1 ), "update": 1, "values": [ 26 ] } [sub_resource type="Animation" id=11] length = 1.25 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 0, 1, 2, 3, 4, 0 ] } [sub_resource type="Animation" id=12] length = 1.25 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 5, 6, 7, 8, 9, 5 ] } [sub_resource type="Animation" id=13] length = 1.25 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 10, 11, 12, 13, 14, 5 ] } [sub_resource type="RayShape2D" id=14] custom_solver_bias = 0.5 length = 20.0 [node name="player" type="RigidBody2D"] input_pickable = false collision_layer = 1 collision_mask = 1 mode = 2 mass = 3.0 friction = 0.0 bounce = 0.0 gravity_scale = 1.0 custom_integrator = true continuous_cd = 0 contacts_reported = 3 contact_monitor = false sleeping = false can_sleep = true linear_velocity = Vector2( 0, 0 ) linear_damp = -1.0 angular_velocity = 0.0 angular_damp = -1.0 script = ExtResource( 1 ) [node name="sprite" type="Sprite" parent="."] texture = ExtResource( 2 ) vframes = 2 hframes = 16 [node name="smoke" type="Particles2D" parent="sprite"] self_modulate = Color( 1, 1, 1, 0.26702 ) position = Vector2( 20.7312, 3.21187 ) rotation = -1.45648 emitting = true amount = 8 lifetime = 0.3 one_shot = true preprocess = 0.0 speed_scale = 1.0 explosiveness = 1.0 randomness = 0.0 visibility_rect = Rect2( -100, -100, 200, 200 ) local_coords = false fixed_fps = 0 fract_delta = true draw_order = 97 process_material = SubResource( 3 ) texture = ExtResource( 3 ) normal_map = null h_frames = 1 v_frames = 1 [node name="anim" type="AnimationPlayer" parent="."] playback_process_mode = 1 playback_default_blend_time = 0.0 root_node = NodePath("..") anims/crouch = SubResource( 4 ) anims/falling = SubResource( 5 ) anims/falling_weapon = SubResource( 6 ) anims/idle = SubResource( 7 ) anims/idle_weapon = SubResource( 8 ) anims/jumping = SubResource( 9 ) anims/jumping_weapon = SubResource( 10 ) anims/run = SubResource( 11 ) anims/run_weapon = SubResource( 12 ) anims/standing_weapon_ready = SubResource( 13 ) playback/active = true playback/speed = 2.0 blend_times = [ ] autoplay = "" [node name="camera" type="Camera2D" parent="."] anchor_mode = 1 rotating = false current = true zoom = Vector2( 1, 1 ) limit_left = 0 limit_top = 0 limit_right = 10000000 limit_bottom = 10000000 limit_smoothed = false drag_margin_h_enabled = true drag_margin_v_enabled = true smoothing_enabled = false smoothing_speed = 5.0 drag_margin_left = 0.2 drag_margin_top = 0.2 drag_margin_right = 0.2 drag_margin_bottom = 0.2 [node name="bullet_shoot" type="Position2D" parent="."] position = Vector2( 31.2428, 4.08784 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2( 0.291992, -12.1587 ) scale = Vector2( 1, 1.76469 ) shape = SubResource( 14 ) [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] build_mode = 0 polygon = PoolVector2Array( -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 ) [node name="ui" type="CanvasLayer" parent="."] layer = 0 offset = Vector2( 0, 0 ) rotation = 0.0 scale = Vector2( 1, 1 ) [node name="left" type="TouchScreenButton" parent="ui"] position = Vector2( 27.7593, 360.87 ) scale = Vector2( 1.49157, 1.46265 ) normal = ExtResource( 4 ) pressed = null bitmask = null shape = null shape_centered = true shape_visible = true passby_press = true action = "move_left" visibility_mode = 1 [node name="right" type="TouchScreenButton" parent="ui"] position = Vector2( 121.542, 361.415 ) scale = Vector2( 1.49157, 1.46265 ) normal = ExtResource( 5 ) pressed = null bitmask = null shape = null shape_centered = true shape_visible = true passby_press = true action = "move_right" visibility_mode = 1 [node name="jump" type="TouchScreenButton" parent="ui"] position = Vector2( 666.224, 359.02 ) scale = Vector2( 1.49157, 1.46265 ) normal = ExtResource( 6 ) pressed = null bitmask = null shape = null shape_centered = true shape_visible = true passby_press = false action = "jump" visibility_mode = 1 [node name="fire" type="TouchScreenButton" parent="ui"] position = Vector2( 668.073, 262.788 ) scale = Vector2( 1.49157, 1.46265 ) normal = ExtResource( 7 ) pressed = null bitmask = null shape = null shape_centered = true shape_visible = true passby_press = false action = "shoot" visibility_mode = 1 [node name="sound_shoot" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 8 ) volume_db = 0.0 autoplay = false max_distance = 2000.0 attenuation = 1.0 bus = "Master" area_mask = 1 [node name="sound_jump" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 9 ) volume_db = 0.0 autoplay = false max_distance = 2000.0 attenuation = 1.0 bus = "Master" area_mask = 1