class Phase::EnemyShip

Defined in:

phase/enemy_ship.cr

Constant Summary

DebugShootBox = false
FireDuration = 500.milliseconds
FireSound = SF::SoundBuffer.from_file("./assets/pew.wav")
LaserHeight = 16
ScoreValue = 3
Sheet = "./assets/enemy.png"
ShootDistance = 1280

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class Phase::Enemy

animations : GSF::Animations animations, draw(window : SF::RenderWindow) draw, facing?(target_rotation) facing?, move_forward(speed, objs : Array(HealthObj)) move_forward, rotate(amount) rotate, rotate_towards(target_rotation, rotation_speed) rotate_towards, rotation : Float32 rotation, score_value score_value, sheet sheet, sprite_height sprite_height, sprite_width sprite_width, update(frame_time, objs : Array(HealthObj)) update

Constructor methods inherited from class Phase::Enemy

new(x = 0, y = 0, rotation : Float32 = 0) new

Class methods inherited from class Phase::Enemy

hit_radius hit_radius, score_value score_value, sheet sheet, sprite_height sprite_height, sprite_width sprite_width

Instance methods inherited from class Phase::HealthObj

bump(dx, dy, bumped_by, objs) bump, bumped? : Bool bumped?, collision_damage collision_damage, distance(cx, cy, radius = 0)
distance(obj : HealthObj)
distance
, draw(window : SF::RenderWindow) draw, draw_hit_circle(window : SF::RenderWindow) draw_hit_circle, health : Int32 health, health_color health_color, hit(damage : Int32) hit, hit?(circle : Circle)
hit? : Bool
hit?
, hit_circle hit_circle, hit_radius hit_radius, hit_sound : SF::Sound hit_sound, max_health max_health, move(dx : Float64, dy : Float64) move, remove? : Bool remove?, reset_hit_bumped reset_hit_bumped, rotation_from(other_x, other_y)
rotation_from(obj : HealthObj)
rotation_from
, rotation_to(other_x, other_y)
rotation_to(obj : HealthObj)
rotation_to
, static? static?, unhit_color unhit_color, update(frame_time, objs : Array(HealthObj)) update, x : Float64 x, y : Float64 y

Constructor methods inherited from class Phase::HealthObj

new(x : Float64 = 0, y : Float64 = 0) new

Class methods inherited from class Phase::HealthObj

collision_damage collision_damage, hit_radius hit_radius, max_health max_health, unhit_color unhit_color

Constructor Detail

def self.new(x = 0, y = 0) #

[View source]

Class Method Detail

def self.score_value #

[View source]
def self.sheet #

[View source]

Instance Method Detail

def draw(window : SF::RenderWindow) #

[View source]
def draw_shoot_box(window : SF::RenderWindow) #

[View source]
def fire #

[View source]
def fire_sound : SF::Sound #

[View source]
def fire_timer : Timer #

[View source]
def laser : Laser | Nil #

[View source]
def shoot_box #

[View source]
def shoot_check(objs) #

[View source]
def update(frame_time, objs : Array(HealthObj)) #

[View source]