mirror of
https://github.com/kristoferssolo/FuncIt.git
synced 2025-10-21 19:30:35 +00:00
commit
This commit is contained in:
parent
97c297f3b0
commit
1bf6b36231
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1]
|
||||
[ext_resource path="res://Bullet.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/Bullet.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 5.4212
|
||||
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Env.gd" type="Script" id=1]
|
||||
[ext_resource path="res://script/Env.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Bullet.tscn" type="PackedScene" id=2]
|
||||
|
||||
[node name="Env" type="Node2D"]
|
||||
26
Alens/movementSystem0.0.4/Gun.gd
Normal file
26
Alens/movementSystem0.0.4/Gun.gd
Normal file
@ -0,0 +1,26 @@
|
||||
extends Position2D
|
||||
|
||||
var rotation_speed = 2
|
||||
var rotation_dir = 0
|
||||
var time = 0
|
||||
|
||||
func gun_rotation():
|
||||
if Input.is_action_just_pressed("gun_up"):
|
||||
rotation_dir -= 1
|
||||
if Input.is_action_just_pressed("gun_down"):
|
||||
rotation_dir += 1
|
||||
if Input.is_action_just_released("gun_up"):
|
||||
rotation_dir = 0
|
||||
if Input.is_action_just_released("gun_down"):
|
||||
rotation_dir = 0
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
#if self.rotation_degrees > -45 and self.rotation_degrees < 15:
|
||||
#gun_rotation()
|
||||
#rotation += rotation_speed * rotation_dir * delta
|
||||
#else:
|
||||
#gun_rotation()
|
||||
#rotation += rotation_speed * rotation_dir * delta
|
||||
look_at(get_global_mouse_position())
|
||||
pass
|
||||
19
Alens/movementSystem0.0.4/Player.tscn
Normal file
19
Alens/movementSystem0.0.4/Player.tscn
Normal file
@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixilart-drawing.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/KinematicBody2D.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 22.279, 10 )
|
||||
|
||||
[node name="Player" type="KinematicBody2D"]
|
||||
position = Vector2( 400, 296 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 4, -17 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 0.381104, 0.412598 )
|
||||
shape = SubResource( 1 )
|
||||
38
Alens/movementSystem0.0.4/game.tscn
Normal file
38
Alens/movementSystem0.0.4/game.tscn
Normal file
@ -0,0 +1,38 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=3]
|
||||
[ext_resource path="res://script/Gun.gd" type="Script" id=4]
|
||||
[ext_resource path="res://script/Mob.gd" type="Script" id=5]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 31.7698, 29.9446 )
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="Mob" type="KinematicBody2D" parent="." groups=[
|
||||
"mobs",
|
||||
]]
|
||||
position = Vector2( -0.000213623, 0.000244141 )
|
||||
script = ExtResource( 5 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Mob"]
|
||||
position = Vector2( 748.393, 296.081 )
|
||||
texture = ExtResource( 3 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Mob"]
|
||||
position = Vector2( 748.393, 293.562 )
|
||||
shape = SubResource( 1 )
|
||||
one_way_collision_margin = 0.0
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 1 )]
|
||||
|
||||
[node name="Gun" type="Position2D" parent="Player"]
|
||||
position = Vector2( 37.1728, -6.00076 )
|
||||
rotation = -0.507891
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Player/Gun"]
|
||||
position = Vector2( 35, 1 )
|
||||
scale = Vector2( 1, 0.109375 )
|
||||
texture = ExtResource( 3 )
|
||||
BIN
Alens/movementSystem0.0.4/pixil-frame-0 (1).png
Normal file
BIN
Alens/movementSystem0.0.4/pixil-frame-0 (1).png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
34
Alens/movementSystem0.0.4/pixil-frame-0 (1).png.import
Normal file
34
Alens/movementSystem0.0.4/pixil-frame-0 (1).png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/pixil-frame-0 (1).png-160dd9969d7e45d14d604c370b40e019.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://pixil-frame-0 (1).png"
|
||||
dest_files=[ "res://.import/pixil-frame-0 (1).png-160dd9969d7e45d14d604c370b40e019.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
BIN
Alens/movementSystem0.0.4/pixilart-drawing.png
Normal file
BIN
Alens/movementSystem0.0.4/pixilart-drawing.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 818 B |
34
Alens/movementSystem0.0.4/pixilart-drawing.png.import
Normal file
34
Alens/movementSystem0.0.4/pixilart-drawing.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/pixilart-drawing.png-9e9c431ac86a42d1fefc4da3ac6bc15c.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://pixilart-drawing.png"
|
||||
dest_files=[ "res://.import/pixilart-drawing.png-9e9c431ac86a42d1fefc4da3ac6bc15c.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
@ -12,51 +12,33 @@ var gravitile = 5
|
||||
|
||||
func follow_line_trajectory():
|
||||
velocity = Vector2(1, 0) #Vector2(cos(self.global_rotation), sin(self.global_rotation))
|
||||
pass
|
||||
return velocity
|
||||
|
||||
func follow_sine_trajectory():
|
||||
velocity.y = amplitude * cos(time * frequency)
|
||||
velocity.x = 5
|
||||
pass
|
||||
return velocity
|
||||
|
||||
func follow_parabolic_trajectory():
|
||||
velocity.x = 5
|
||||
velocity.y = 1 * time * gravitile
|
||||
|
||||
|
||||
func follow_n_parabolic_trajectory():
|
||||
velocity.x = 5
|
||||
velocity.y = -1 * time * gravitile
|
||||
|
||||
return velocity
|
||||
|
||||
func follow_hyperbolic_trajectory():
|
||||
velocity.x = gravitile * time
|
||||
velocity.y = 1
|
||||
return velocity
|
||||
|
||||
func follow_n_hyperbolic_trajectory():
|
||||
velocity.x = gravitile * time
|
||||
velocity.y = -1
|
||||
|
||||
|
||||
func chosen_trajectory():
|
||||
func input():
|
||||
if Input.is_action_just_pressed("line"):
|
||||
follow_line_trajectory()
|
||||
elif Input.is_action_just_pressed("parab"):
|
||||
follow_parabolic_trajectory()
|
||||
elif Input.is_action_just_pressed("n_parab"):
|
||||
follow_n_parabolic_trajectory()
|
||||
elif Input.is_action_just_pressed("hyper"):
|
||||
follow_hyperbolic_trajectory()
|
||||
elif Input.is_action_just_pressed("n_hyper"):
|
||||
follow_n_hyperbolic_trajectory()
|
||||
return follow_sine_trajectory()
|
||||
elif Input.is_action_just_pressed("sine"):
|
||||
follow_sine_trajectory()
|
||||
return follow_line_trajectory()
|
||||
else:
|
||||
follow_line_trajectory()
|
||||
|
||||
print('Trajectory is not selected')
|
||||
queue_free()
|
||||
|
||||
func _process(delta):
|
||||
follow_sine_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
|
||||
@ -3,11 +3,8 @@ extends Node2D
|
||||
onready var bullet = preload("res://Bullet.tscn")
|
||||
var time = 0
|
||||
|
||||
|
||||
func trigger():
|
||||
var b = bullet.instance()
|
||||
add_child(b)
|
||||
|
||||
func _draw():
|
||||
draw_line(Vector2(0, 0), Vector2(1000, 0), 1)
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
26
Alens/movementSystem0.0.4/script/Gun.gd
Normal file
26
Alens/movementSystem0.0.4/script/Gun.gd
Normal file
@ -0,0 +1,26 @@
|
||||
extends Position2D
|
||||
|
||||
var rotation_speed = 2
|
||||
var rotation_dir = 0
|
||||
var time = 0
|
||||
|
||||
func gun_rotation():
|
||||
if Input.is_action_just_pressed("gun_up"):
|
||||
rotation_dir -= 1
|
||||
if Input.is_action_just_pressed("gun_down"):
|
||||
rotation_dir += 1
|
||||
if Input.is_action_just_released("gun_up"):
|
||||
rotation_dir = 0
|
||||
if Input.is_action_just_released("gun_down"):
|
||||
rotation_dir = 0
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
#if self.rotation_degrees > -45 and self.rotation_degrees < 15:
|
||||
#gun_rotation()
|
||||
#rotation += rotation_speed * rotation_dir * delta
|
||||
#else:
|
||||
#gun_rotation()
|
||||
#rotation += rotation_speed * rotation_dir * delta
|
||||
look_at(get_global_mouse_position())
|
||||
pass
|
||||
@ -19,7 +19,7 @@ func get_input():
|
||||
movement.y += 10
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
movement.y -= 10
|
||||
if Input.is_action_pressed("shoot"):
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
shoot()
|
||||
|
||||
func _physics_process(delta):
|
||||
@ -1,12 +1,23 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://source/entities/player/player-node.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://source/levels/trinity_site/images/trinity_site_level_layout-monochrome.png" type="Texture" id=2]
|
||||
[ext_resource path="res://script/Gun.gd" type="Script" id=3]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=4]
|
||||
|
||||
[node name="trinity-site" type="Node2D"]
|
||||
|
||||
[node name="player-node" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 212.292, 277.24 )
|
||||
position = Vector2( 183.338, 269.222 )
|
||||
|
||||
[node name="Barrel" type="Position2D" parent="player-node"]
|
||||
position = Vector2( -10.2453, -2.6727 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="player-node/Barrel"]
|
||||
position = Vector2( -26.9819, -0.589844 )
|
||||
scale = Vector2( 0.0818972, 0.0127678 )
|
||||
texture = ExtResource( 4 )
|
||||
|
||||
[node name="trinity-site-body" type="StaticBody2D" parent="."]
|
||||
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
extends Position2D
|
||||
|
||||
func _process(delta):
|
||||
look_at(get_global_mouse_position())
|
||||
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Hyperbola/Hyperbolic_Barrel.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 22.5946, 3.60519 )
|
||||
|
||||
[node name="Hyperbolic_Barrel" type="StaticBody2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 30.4661, 0.749161 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="icon" type="Sprite" parent="."]
|
||||
position = Vector2( 42.4007, 0.196289 )
|
||||
scale = Vector2( 1.31624, 0.140625 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="."]
|
||||
position = Vector2( 97.6552, 0.0842819 )
|
||||
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 5.4212
|
||||
height = 7.62897
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 2, -19 )
|
||||
scale = Vector2( 0.199834, 0.199834 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5708
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"]
|
||||
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://script/Hyperbola/Hyperbolic_Env.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/Hyperbola/Hyperbolic_Bullet.gd" type="Script" id=3]
|
||||
|
||||
[node name="Env" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Bullet" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 0, -0.222725 )
|
||||
script = ExtResource( 3 )
|
||||
22
Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn
Normal file
22
Pavels/bullet_trajectory/Line_Trajectory/Line_Barrel.tscn
Normal file
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Line/Line_Barrel.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 22.5946, 3.60519 )
|
||||
|
||||
[node name="Line_Barrel" type="StaticBody2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 30.4661, 0.749161 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="icon" type="Sprite" parent="."]
|
||||
position = Vector2( 32.281, 0.196289 )
|
||||
scale = Vector2( 1, 0.140625 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="."]
|
||||
position = Vector2( 64.7166, 0.0842819 )
|
||||
22
Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn
Normal file
22
Pavels/bullet_trajectory/Line_Trajectory/Line_Bullet.tscn
Normal file
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 5.4212
|
||||
height = 7.62897
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 2, -19 )
|
||||
scale = Vector2( 0.199834, 0.199834 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5708
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"]
|
||||
10
Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn
Normal file
10
Pavels/bullet_trajectory/Line_Trajectory/Line_Env.tscn
Normal file
@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://script/Line/Line_Env.gd" type="Script" id=2]
|
||||
|
||||
[node name="Env" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Bullet" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 0, -0.222725 )
|
||||
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Parabola/Parabolic_Barrel.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 8.79762, 3.60519 )
|
||||
|
||||
[node name="Parabolic_Barrel" type="StaticBody2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 13.539, 2.08551 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="icon" type="Sprite" parent="."]
|
||||
position = Vector2( 16.2448, 0.641744 )
|
||||
scale = Vector2( 0.387507, 0.251987 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="."]
|
||||
position = Vector2( 34.426, 0.975182 )
|
||||
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 5.4212
|
||||
height = 7.62897
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 2, -19 )
|
||||
scale = Vector2( 0.199834, 0.199834 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5708
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"]
|
||||
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://script/Parabola/Parabolic_Env.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/Parabola/Parabolic_Bullet.gd" type="Script" id=3]
|
||||
|
||||
[node name="Env" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Bullet" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 0, -0.222725 )
|
||||
script = ExtResource( 3 )
|
||||
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixilart-drawing.png" type="Texture" id=1]
|
||||
[ext_resource path="res://KinematicBody2D.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/KinematicBody2D.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 22.279, 10 )
|
||||
|
||||
22
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn
Normal file
22
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Barrel.tscn
Normal file
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Sine/Sine_Barrel.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 21.0351, 6.99966 )
|
||||
|
||||
[node name="Sine_Barrel" type="StaticBody2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 32.0917, 0.471939 )
|
||||
scale = Vector2( 1, 0.336339 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 30.8681, 0 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="."]
|
||||
position = Vector2( 64.7166, 0.0842819 )
|
||||
22
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn
Normal file
22
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Bullet.tscn
Normal file
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://pixil-frame-0 (1).png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/Line/Line_Bullet.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 5.4212
|
||||
height = 7.62897
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 2, -19 )
|
||||
scale = Vector2( 0.199834, 0.199834 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5708
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"]
|
||||
12
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn
Normal file
12
Pavels/bullet_trajectory/Sine_Trajectory/Sine_Env.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Line_Trajectory/Line_Bullet.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://script/Sine/Sine_Env.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/Sine/Sine_Bullet.gd" type="Script" id=3]
|
||||
|
||||
[node name="Env" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Bullet" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 0, -0.222725 )
|
||||
script = ExtResource( 3 )
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
[ext_resource path="res://Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Gun.gd" type="Script" id=4]
|
||||
[ext_resource path="res://Mob.gd" type="Script" id=5]
|
||||
[ext_resource path="res://script/Gun.gd" type="Script" id=4]
|
||||
[ext_resource path="res://script/Mob.gd" type="Script" id=5]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 31.7698, 29.9446 )
|
||||
@ -27,11 +27,6 @@ one_way_collision_margin = 0.0
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 1 )]
|
||||
|
||||
[node name="Gun" type="Position2D" parent="Player"]
|
||||
[node name="Gun_Position" type="Position2D" parent="Player"]
|
||||
position = Vector2( 37.1728, -6.00076 )
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Player/Gun"]
|
||||
position = Vector2( 35, 1 )
|
||||
scale = Vector2( 1, 0.109375 )
|
||||
texture = ExtResource( 3 )
|
||||
|
||||
@ -65,24 +65,14 @@ parab={
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777352,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
n_parab={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777353,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
hyper={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777354,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
n_hyper={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777355,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
sine={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777356,"unicode":0,"echo":false,"script":null)
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777353,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
30
Pavels/bullet_trajectory/script/Gun.gd
Normal file
30
Pavels/bullet_trajectory/script/Gun.gd
Normal file
@ -0,0 +1,30 @@
|
||||
extends Position2D
|
||||
|
||||
var trajectories = {
|
||||
'line' : preload("res://Line_Trajectory/Line_Barrel.tscn"),
|
||||
'sine' : preload("res://Sine_Trajectory/Sine_Barrel.tscn"),
|
||||
'parab' : preload("res://Parabolic_Trajectory/Parabolic_Barrel.tscn"),
|
||||
'hyper' : preload("res://Hyperbolic_Trajectory/Hyperbolic_Barrel.tscn")
|
||||
}
|
||||
|
||||
|
||||
func equip_gun(gun_type:String):
|
||||
for gun in get_children(): #if there is gun remove it
|
||||
gun.queue_free()
|
||||
|
||||
var gun = trajectories[gun_type].instance()
|
||||
add_child(gun)
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
look_at(get_global_mouse_position())
|
||||
if Input.is_action_just_pressed("line"):
|
||||
equip_gun('line')
|
||||
if Input.is_action_just_pressed("sine"):
|
||||
equip_gun('sine')
|
||||
if Input.is_action_just_pressed("parab"):
|
||||
equip_gun('parab')
|
||||
if Input.is_action_just_pressed("hyper"):
|
||||
equip_gun('hyper')
|
||||
pass
|
||||
@ -0,0 +1,16 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
|
||||
onready var bullet = preload("res://Hyperbolic_Trajectory/Hyperbolic_Env.tscn")
|
||||
|
||||
|
||||
func shoot():
|
||||
var b = bullet.instance()
|
||||
get_parent().get_parent().get_parent().add_child(b)
|
||||
b.global_position = $Position2D.global_position
|
||||
b.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
shoot()
|
||||
@ -0,0 +1,24 @@
|
||||
extends Area2D
|
||||
|
||||
var velocity = Vector2()
|
||||
var speed = 1
|
||||
var time = 0.5
|
||||
var gravitile = 5
|
||||
|
||||
|
||||
|
||||
func follow_hyperbolic_trajectory():
|
||||
velocity.x = gravitile * time
|
||||
velocity.y = 1/time
|
||||
|
||||
|
||||
func _process(delta):
|
||||
follow_hyperbolic_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
|
||||
|
||||
func _on_Bullet_body_entered(body):
|
||||
if body.is_in_group("mobs"):
|
||||
body.queue_free()
|
||||
queue_free()
|
||||
10
Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd
Normal file
10
Pavels/bullet_trajectory/script/Hyperbola/Hyperbolic_Env.gd
Normal file
@ -0,0 +1,10 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
var time = 0
|
||||
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
if time > 17:
|
||||
queue_free()
|
||||
26
Pavels/bullet_trajectory/script/KinematicBody2D.gd
Normal file
26
Pavels/bullet_trajectory/script/KinematicBody2D.gd
Normal file
@ -0,0 +1,26 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
export var speed = 400
|
||||
var movement = Vector2(0, 0)
|
||||
|
||||
#func shoot():
|
||||
#var b = env.instance()
|
||||
#get_parent().add_child(b)
|
||||
#b.global_transform = $Gun.global_transform
|
||||
|
||||
func get_input():
|
||||
movement = Vector2()
|
||||
if Input.is_action_pressed("ui_right"):
|
||||
movement.x += 10
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
movement.x -= 10
|
||||
if Input.is_action_pressed("ui_down"):
|
||||
movement.y += 10
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
movement.y -= 10
|
||||
#if Input.is_action_just_pressed("shoot"):
|
||||
#shoot()
|
||||
|
||||
func _physics_process(delta):
|
||||
get_input()
|
||||
position += movement.normalized() * speed * delta
|
||||
16
Pavels/bullet_trajectory/script/Line/Line_Barrel.gd
Normal file
16
Pavels/bullet_trajectory/script/Line/Line_Barrel.gd
Normal file
@ -0,0 +1,16 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
|
||||
onready var bullet = preload("res://Line_Trajectory/Line_Env.tscn")
|
||||
|
||||
|
||||
func shoot():
|
||||
var b = bullet.instance()
|
||||
get_parent().get_parent().get_parent().add_child(b)
|
||||
b.global_position = $Position2D.global_position
|
||||
b.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
shoot()
|
||||
43
Pavels/bullet_trajectory/script/Line/Line_Bullet.gd
Normal file
43
Pavels/bullet_trajectory/script/Line/Line_Bullet.gd
Normal file
@ -0,0 +1,43 @@
|
||||
extends Area2D
|
||||
|
||||
export var speed = 100
|
||||
var velocity = Vector2()
|
||||
|
||||
var time = 0
|
||||
export var amplitude = 4
|
||||
export var frequency = 5
|
||||
var gravitile = 5
|
||||
|
||||
|
||||
func follow_line_trajectory():
|
||||
velocity = Vector2(10, 0)
|
||||
|
||||
#func follow_parabolic_trajectory():
|
||||
#velocity.x = 5
|
||||
#velocity.y = 1 * time * gravitile
|
||||
#return velocity
|
||||
|
||||
#func follow_hyperbolic_trajectory():
|
||||
#velocity.x = gravitile * time
|
||||
#velocity.y = 1
|
||||
#return velocity
|
||||
|
||||
#func input():
|
||||
#if Input.is_action_just_pressed("line"):
|
||||
#return follow_sine_trajectory()
|
||||
#elif Input.is_action_just_pressed("sine"):
|
||||
#return follow_line_trajectory()
|
||||
#else:
|
||||
#print('Trajectory is not selected')
|
||||
#queue_free()
|
||||
|
||||
func _process(delta):
|
||||
follow_line_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
|
||||
|
||||
func _on_Bullet_body_entered(body):
|
||||
if body.is_in_group("mobs"):
|
||||
body.queue_free()
|
||||
queue_free()
|
||||
9
Pavels/bullet_trajectory/script/Line/Line_Env.gd
Normal file
9
Pavels/bullet_trajectory/script/Line/Line_Env.gd
Normal file
@ -0,0 +1,9 @@
|
||||
extends Node2D
|
||||
|
||||
var time = 0
|
||||
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
if time > 17:
|
||||
queue_free()
|
||||
10
Pavels/bullet_trajectory/script/Mob.gd
Normal file
10
Pavels/bullet_trajectory/script/Mob.gd
Normal file
@ -0,0 +1,10 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
|
||||
var velocity = Vector2(1, 1)
|
||||
|
||||
func _process(delta):
|
||||
var collision = move_and_collide(velocity * delta)
|
||||
|
||||
|
||||
|
||||
16
Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd
Normal file
16
Pavels/bullet_trajectory/script/Parabola/Parabolic_Barrel.gd
Normal file
@ -0,0 +1,16 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
|
||||
onready var bullet = preload("res://Parabolic_Trajectory/Parabolic_Env.tscn")
|
||||
|
||||
|
||||
func shoot():
|
||||
var b = bullet.instance()
|
||||
get_parent().get_parent().get_parent().add_child(b)
|
||||
b.global_position = $Position2D.global_position
|
||||
b.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
shoot()
|
||||
24
Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd
Normal file
24
Pavels/bullet_trajectory/script/Parabola/Parabolic_Bullet.gd
Normal file
@ -0,0 +1,24 @@
|
||||
extends Area2D
|
||||
|
||||
export var speed = 100
|
||||
var velocity = Vector2()
|
||||
|
||||
var time = 0
|
||||
var gravitile = 5
|
||||
|
||||
|
||||
func follow_parabolic_trajectory():
|
||||
velocity.x = 5
|
||||
velocity.y = 1 * time * gravitile
|
||||
|
||||
|
||||
func _process(delta):
|
||||
follow_parabolic_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
|
||||
|
||||
func _on_Bullet_body_entered(body):
|
||||
if body.is_in_group("mobs"):
|
||||
body.queue_free()
|
||||
queue_free()
|
||||
@ -0,0 +1,9 @@
|
||||
extends Node2D
|
||||
|
||||
var time = 0
|
||||
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
if time > 17:
|
||||
queue_free()
|
||||
20
Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd
Normal file
20
Pavels/bullet_trajectory/script/Sine/Sine_Barrel.gd
Normal file
@ -0,0 +1,20 @@
|
||||
extends StaticBody2D
|
||||
|
||||
onready var bullet = preload("res://Sine_Trajectory/Sine_Env.tscn")
|
||||
|
||||
var velocity = Vector2(1, 0)
|
||||
var shooting_speed = 200
|
||||
|
||||
|
||||
|
||||
func shoot():
|
||||
var b = bullet.instance()
|
||||
get_parent().get_parent().get_parent().add_child(b)
|
||||
b.global_position = $Position2D.global_position
|
||||
b.global_rotation = $Position2D.global_rotation
|
||||
pass
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
shoot()
|
||||
25
Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd
Normal file
25
Pavels/bullet_trajectory/script/Sine/Sine_Bullet.gd
Normal file
@ -0,0 +1,25 @@
|
||||
extends Area2D
|
||||
|
||||
export var speed = 100
|
||||
var velocity = Vector2()
|
||||
|
||||
var time = 0
|
||||
export var amplitude = 4
|
||||
export var frequency = 5
|
||||
var gravitile = 5
|
||||
|
||||
|
||||
func follow_sine_trajectory():
|
||||
velocity.y = amplitude * cos(time * frequency)
|
||||
velocity.x = 5
|
||||
|
||||
func _process(delta):
|
||||
follow_sine_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
|
||||
|
||||
func _on_Bullet_body_entered(body):
|
||||
if body.is_in_group("mobs"):
|
||||
body.queue_free()
|
||||
queue_free()
|
||||
9
Pavels/bullet_trajectory/script/Sine/Sine_Env.gd
Normal file
9
Pavels/bullet_trajectory/script/Sine/Sine_Env.gd
Normal file
@ -0,0 +1,9 @@
|
||||
extends Node2D
|
||||
|
||||
var time = 0
|
||||
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
if time > 17:
|
||||
queue_free()
|
||||
@ -1,3 +1,3 @@
|
||||
source_md5="ea99925cae38c148dc6a1c29df4fb92e"
|
||||
source_md5="1ef07a57f4eef86ceba35b7c02cb78b5"
|
||||
dest_md5="f73af61b19494ec5bf488ba2a748b42b"
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
source_md5="8fad288d82d0e9d24f41f65f4d5e4301"
|
||||
source_md5="64335dc88c42b14614e00f82df952f3e"
|
||||
dest_md5="a9d8bb2f96bc788ab0d7fc16f125c927"
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
source_md5="ea99925cae38c148dc6a1c29df4fb92e"
|
||||
source_md5="1ef07a57f4eef86ceba35b7c02cb78b5"
|
||||
dest_md5="f73af61b19494ec5bf488ba2a748b42b"
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
source_md5="8fad288d82d0e9d24f41f65f4d5e4301"
|
||||
source_md5="64335dc88c42b14614e00f82df952f3e"
|
||||
dest_md5="a9d8bb2f96bc788ab0d7fc16f125c927"
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user