Spelutveckling i Flash - Lite hjälp med ActionScript!

Permalänk
Medlem

Spelutveckling i Flash - Lite hjälp med ActionScript!

Hej! Sitter och testar att skapa ett spel i Adobe Flash och det flyter på hyfsat bra men har stött på ett problem som inte ens två timmars "googlande" har kunnat lösa.

I spelet styr man spelaren med "WASD"-tangenterna samt roterar denne med musen. Det jag vill göra nu är fiender som går emot spelaren när man kommer för nära. Har skrivit en "if-sats" som ser ut:

if(this.hitTest(_root.Enemy01._x, _root.Enemy01._y))

Som ni saknas det kod efter men testade om denna "if-sats" hade någon typ av effekt men icke!
Bör kanske nämna att jag även har "player.onEnterFrame = function()" vilket förklarar "this" i kodexemplet ovan.
Någon som vet något bra sätt att göra ett hitTest för att kolla om spelaren kommer för nära fienden? Behöver ni mer kod eller information är det bara att fråga!
Ha en bra helg!

Permalänk

if((player.X < enemy.x + 10 && player.Y < enemy.Y + 10) || (player.X > enemy.x - 10 && player.Y > enemy.Y - 10) {

DeathToThePlayer();

}

Err,v et inte om det blev helt korrekt men iden är att om du kommer inom en viss radie från din Enemy så kör han sin DeathToThePlayer() funktion

Permalänk
Medlem

Ja, iden är ju helt korrekt men får testa att anpassa koden och köra den! Tack!
Det här med plus 10 förresten, är just 10 bara en siffra du ansåg lämplig?

Ha det bra så länge!

Permalänk
Skrivet av SuitUp:

Ja, iden är ju helt korrekt men får testa att anpassa koden och köra den! Tack!
Det här med plus 10 förresten, är just 10 bara en siffra du ansåg lämplig?

Ha det bra så länge!

Rätta mig någon om jag har fel.

enemy.x och enemy.y visar väl koordinaterna till "punkten" på objekten som man kan flytta omkring. Att ha 10 skulle alltså göra så att om man är 10 pixlar i från denna punkt så kommer "DeathToThePlayer();" att inträffa.

På t.ex. en låda som är 100 pixlar hög och 50 pixlar bred med punkten centrerat i mitten av objektet skulle det se ut såhär (lånar formel av grontoankan):

if((player.X < enemy.x + 25 && player.Y < enemy.Y + 50) || (player.X > enemy.x - 25 && player.Y > enemy.Y - 50) {

DeathToThePlayer();

}

Permalänk
Skrivet av SuitUp:

Ja, iden är ju helt korrekt men får testa att anpassa koden och köra den! Tack!
Det här med plus 10 förresten, är just 10 bara en siffra du ansåg lämplig?

Ha det bra så länge!

Ja, det var bara ett exempel. Ingen aning om hur mkt 10 är, omd et är pixlar eller om det är "AS eneheter" eller någonting sådant.