A Flash Developer Resource Site

Results 1 to 3 of 3

Thread: Problem with my _x and _y properties...

Threaded View

  1. #1
    Junior Member
    Join Date
    Oct 2004
    Posts
    14

    Problem with my _x and _y properties...

    Hi,
    I'm trying to make an Arkanoid type of game in flash, and I'm having a problem.

    When I make the instance of the bar (that you are controlling) and the instance of the ball, I put them both at x: 400, y: 400.

    But they are not at the same point.

    The ball is 50 pixels below the bar, but the y axie is correct.

    I tried to make a trace of that, and flash tells me that both objects are at x:400, y:400.

    I also attached a screenshot of what my code does, in this post (below).

    Anyone knows what my problem could be?
    Thanks a lot for your help guys

    Code:
    var initPalX:Number = 400;
    var initPalY:Number = 400;
    
    var initBallX:Number = 400;
    var initBallY:Number = 400;
    
    var ballSpeed:Number = 20;
    var paletteSpeed:Number = 10;
    
    var theball:Ball = new Ball(mc_passball, initBallX, initBallY, ballSpeed, initX, initY);
    var thepalette:Palette = new Palette(mc_pal, initPalX, initPalY, paletteSpeed);
    
    
    this.onEnterFrame = function()
    {
    	if (Key.isDown(39))
    	{
    		thepalette.moveRight();
    		theball.followPalette(thepalette.getx(), thepalette.gety());
    	}
    	
    	if (Key.isDown(37))
    	{
    		thepalette.moveLeft();
    		theball.followPalette(thepalette.getx(), thepalette.gety());
    	}
    	
    	if (Key.getCode() == 32)
    	{
    		theball.rebound(90);
    	}
    }
    Here is my Ball class:

    Code:
    class Ball extends MovieClip
    {
    	var ball_mc:MovieClip;
    	var x:Number;
    	var y:Number;
    	var speed:Number;
    	var lx:Number;
    	var ly:Number;
    	
    	public function Ball(pass_mc:MovieClip, pass_x:Number, pass_y:Number, pass_speed:Number, pass_lx:Number, pass_ly:Number)
    	{
    		ball_mc = pass_mc;
    		ball_mc._x = pass_x;
    		ball_mc._y = pass_y;
    		speed = pass_speed;
    		lx = pass_lx;
    		ly = pass_ly;
    	}
    	
    	public function getHitAngle()
    	{
    		var a:Number = Math.abs(lx - ball_mc._x);
    		var b:Number = Math.abs(ly - ball_mc._y);
    		var c:Number = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
    		var angle:Number= Math.asin(a / c);
    		
    		return angle;
    	}
    	
    	public function rebound(angle:Number)
    	{
    		var scale_x:Number = Math.cos(angle);
    		var scale_y:Number = Math.sin(angle);
    		
    		var velocity_x:Number = (speed * scale_x);
    		var velocity_y:Number = (speed * scale_y);
    		
    		ball_mc._x -= velocity_x;
    		ball_mc._y -= velocity_y;
    	}
    	public function followPalette(pass_x:Number, pass_y:Number)
    	{
    		
    		ball_mc._x = pass_x;
    		ball_mc._y = pass_y;
    		//trace(pass_obj._x);
    	}
    	
    	public function setlx(pass_lx:Number)
    	{
    		lx = pass_lx;
    	}
    	
    	public function setly(pass_ly:Number)
    	{
    		ly = pass_ly;
    	}
    	
    	public function getx()
    	{
    		return ball_mc._x;
    	}
    	
    	public function gety()
    	{
    		return ball_mc._y;
    	}
    	
    }
    Here is my bar class:

    Code:
    class Palette extends MovieClip
    {
    	var mc_palette:MovieClip;
    	var speed:Number;
    	
    	public function Palette(pass_mc:MovieClip, pass_x:Number, pass_y:Number, pass_speed:Number)
    	{
    		mc_palette = pass_mc;
    		mc_palette._x = pass_x;
    		mc_palette._y = pass_y;
    		speed = pass_speed;
    	}
    	
    	public function moveLeft()
    	{
    		mc_palette._x -= speed;
    	}
    
    	public function moveRight()
    	{
    		mc_palette._x += speed;
    	}
    	
    	public function getx()
    	{
    		return mc_palette._x;
    	}
    	
    	public function gety()
    	{
    		return mc_palette._y;
    	}
    }
    Attached Images Attached Images

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center