Hi,
I have to bits of code I would like to combine. The first code gets a movieclip to move when i press the arrow keys. Now, I want to do a hittest when this object touches another, but I can’t figure out how to add the code:
First code (to get the ball moving):
package {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.text.TextField;
public class as3ball extends MovieClip {
var the_hero: Sprite = new ball();
var power = 0.9;
var friction = 0.95;
var xspeed = 0;
var yspeed = 0;
var up = false;
var down = false;
var left = false;
var right = false;
public function as3ball() {
addChild(the_hero);
the_hero.x = 250;
the_hero.y = 150;
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_pressed);
stage.addEventListener(KeyboardEvent.KEY_UP, key_released);
addEventListener(Event.ENTER_FRAME, render);
}
function key_pressed(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.UP :
up = true;
break;
case Keyboard.DOWN :
down = true;
break;
case Keyboard.LEFT :
left = true;
break;
case Keyboard.RIGHT :
right = true;
break;
}
}
function key_released(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.UP :
up = false;
break;
case Keyboard.DOWN :
down = false;
break;
case Keyboard.LEFT :
left = false;
break;
case Keyboard.RIGHT :
right = false;
break;
}
}
private function render(e:Event):void {
if (up) {
yspeed -= power;
}
if (down) {
yspeed += power;
}
if (left) {
xspeed -= power;
}
if (right) {
xspeed += power;
}
xspeed *= friction;
yspeed *= friction;
the_hero.x += xspeed;
the_hero.y += yspeed;
}
}
}
Second bit of code (the hittest)
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.text.TextField;
public class hittesting extends MovieClip {
public function hittesting() {
addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
public function enterFrameHandler(e:Event):void {
if (circle.hitTestObject(square)) {
hittext.text = "Ouch!";
} else {
hittext.text = "";
}
}
}
}
Anyone know how to get this working?