2014-02-28 18 views
0

我正在做一个简单的篮球比赛,这是我到目前为止http://amazonproducts.netai.net/game/bball.html。问题是轮辋,我所做的是我在轮圈末端添加了4个小电影剪辑(最左边),这是代码我用他们:如何在Flash中制作篮球篮圈?

if (ball.hitTest(rimleft)) { 
xspeed= Math.abs(xspeed) * -1; 
} 
if (ball.hitTest(rimright)) { 
xspeed= Math.abs(xspeed); 

} 
if (ball.hitTest(rimtop)) { 
yspeed*=-1; 
} 
if (ball.hitTest(rimbot)) { 
yspeed*=-1; 
} 

正如你可以看到它不工作好,有时球正好穿过铁环,有时卡住或它反弹怪异。请给我一个更好的主意如何解决这个问题...

回答

0

对不起卢卡,我无法访问您的链接,因为该网站被学校网络保护计划封锁。不过,也许我仍然可以指出你正确的方向。尝试沿着这条线的东西(的rim有实例名称rim忘记现在的左,右轮辋的事情。):

var difficulty:int=10; 
var depth_matches:Boolean=false; 
if(ball.hitTestObject(rim)&&depth_matches){ 
    if(ball.x>rim.x-(rim.width/2)+difficulty && ball.x<rim.x+(rim.width/2)-difficulty){ 
     ball.x=rim.x; 
    your_score++; 
    } 
} 

布尔depth_matches描述球是否是在同一深度为您的RIM(我假设游戏并不涉及将球扔进篮筐,而是将其扔出)。由于我没有看你的代码,我看不到你用这个游戏的方法,你必须适应你的情况。它也似乎是你使用AS2,所以你必须将hitTestObject更改为hitTest

+0

谢谢你,但我确实有点工作,我需要的是球从篮筐的左侧反弹。这让我感到困扰,你可以看到球有时卡住或只是通过篮筐。我在海誓山盟旁边添加了4个电影剪辑来反弹球,但它运行不好:\ \ – Luka