code>
extends RigidBody2D
var move_direction=0
var speed=0
var velocity=Vector2(float(speed),0.0)
var startnewmove=false
var movement_change=0
var speed_change=0
var rotation_speed=0
var direction_change=0
var CHASEMODE=false
var angletoplayer=0
var seeplayerpos=Vector2.ZERO
func _process(delta):
#MOVEMENT----------------------------------------
if CHASEMODE==false:
if startnewmove==true:
movement_change=randi_range(60,240)
direction_change=randi_range(-180,180)
speed_change=float(randi_range(0,200))
rotation_speed=randf_range(0,0.05)
startnewmove=false
speed=lerp(speed,speed_change,0.05)
if CHASEMODE==true:
angletoplayer=get_angle_to(seeplayerpos)*57.324
direction_change=angletoplayer
rotation_speed=0.05
speed=500
print(linear_velocity)
velocity=Vector2(float(speed),0.0)
move_direction=lerp(float(move_direction),float(direction_change),rotation_speed)
if movement_change>0:
movement_change-=1
else:startnewmove=true
linear_velocity=velocity.rotated(move_direction/57.324)
#SPRITE------------------------------------
var movingangle=round(atan2(-linear_velocity.x,linear_velocity.y)*57.324)+90
rotation_degrees=movingangle
func _on_playermaster__playerpos(_playerpos):
seeplayerpos=_playerpos
seeplayerpos variable does work and its the same as the real global player position.