adding buggy hover, teleport
This commit is contained in:
1 parent
542251725c
commit
7c292f7cec
7 files changed
+179
-11
No files matched your search
@@ -14,13 +14,14 @@ var pushRightEnabled = false
|
||||
var pushLeftEnabled = false
|
||||
@export var PUSH_FORCE = 700
|
||||
@onready var animation: AnimatedSprite2D = $AnimatedSprite2D
|
||||
@onready var teleportZone: Area2D = $"../Area2D"
|
||||
|
||||
# Bullet Attack Variables
|
||||
@onready var right_target: Node2D = $RightTarget
|
||||
@onready var left_target: Node2D = $LeftTarget
|
||||
|
||||
var isJumping = false
|
||||
|
||||
var safeTeleport = false
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Add the gravity.
|
||||
if not is_on_floor():
|
||||
@@ -32,19 +33,35 @@ func _physics_process(delta: float) -> void:
|
||||
velocity.y = JUMP_VELOCITY
|
||||
animation.play("jump")
|
||||
isJumping = true
|
||||
|
||||
# Hover
|
||||
if not is_on_floor() and Input.is_action_pressed("hover"):
|
||||
velocity.x = 0
|
||||
velocity.y = 0
|
||||
# Shove Attack
|
||||
if Input.is_action_just_pressed("shove"):
|
||||
if pushRightEnabled && faceLeft == false:
|
||||
pushTarget.apply_central_impulse(Vector2(1,0) * PUSH_FORCE * 2)
|
||||
if pushLeftEnabled && faceLeft == true:
|
||||
pushTarget.apply_central_impulse(Vector2(-1,0) * PUSH_FORCE * 2)
|
||||
# Teleport
|
||||
if Input.is_action_just_pressed("teleport"):
|
||||
while not safeTeleport:
|
||||
teleportZone.position = Vector2(position.x+randf_range(-300,300),position.y+randf_range(-300,300))
|
||||
if teleportZone.has_overlapping_bodies():
|
||||
safeTeleport = false
|
||||
else:
|
||||
safeTeleport = true
|
||||
safeTeleport= false
|
||||
position = Vector2(teleportZone.position.x,teleportZone.position.y)
|
||||
|
||||
|
||||
|
||||
# Handle Shooting
|
||||
if Input.is_action_just_pressed("shoot"):
|
||||
#print("I want to shoot")
|
||||
#make a new bullet
|
||||
|
||||
|
||||
|
||||
|
||||
if faceLeft == true:
|
||||
var myBullet = %SceneManager.makeBullet(left_target.global_transform,-700)
|
||||
|
||||
@@ -21,7 +21,7 @@ signal levelComplete (levelToLoad)
|
||||
|
||||
|
||||
|
||||
# C alled when the node enters the scene tree for the first time.
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
player = load("res://scripts/res/playerstats.tres")
|
||||
print("Player health " +str(player.health))
|
||||
|
||||
@@ -3,6 +3,7 @@ extends Node
|
||||
@onready var coins: Node2D = $"../coins"
|
||||
@onready var enemies: Node2D = $"../enemies"
|
||||
|
||||
|
||||
var bullet = preload("res://scenes/bullet.tscn")
|
||||
var bulletArray:Array = []
|
||||
var bulletsMadeTotal :=0
|
||||
@@ -23,7 +24,6 @@ func _ready() -> void:
|
||||
if obj.is_in_group("collectibles"):
|
||||
totalCoins +=1
|
||||
obj.coinCollected.connect(Gamecontroller.coinCollected)
|
||||
|
||||
var totalEnemies = 0
|
||||
for obj in enemies.get_children():
|
||||
if obj.is_in_group("enemies"):
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
extends Area2D
|
||||
@onready var character: CharacterBody2D = $"../CharacterBody2D"
|
||||
|
||||
@export var effect = "alert"
|
||||
signal areaTrigger(effect, Object)
|
||||
@@ -14,4 +15,5 @@ func _process(delta: float) -> void:
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
print("Something in the trigger.")
|
||||
print(character.position)
|
||||
areaTrigger.emit(effect, body)
|
||||
Reference in new issue
Block a user