玩弄flash有一段时间了,我的问题一般都能很快解决,但是我在这个上卡了几天,google一直没用,也没有朋友对flash很了解.
所以,我一直致力于制作一个基本的 2D 平台。我在弄清楚如何在角色和 bg.hitTestPoint 上实现点时遇到问题。就目前而言,在我处理要点和所有内容之前,它运行良好。我有一个踪迹,让我知道它何时认为它与物体(在这种情况下是一堵墙)发生碰撞。
角色的尺寸为:
顶部中心:(42,0)
机器人中心:(42,112) 右侧中心:(84,56) 左侧
中心:(0,56
)
总图像:84 x 112 (px)
角色在屏幕上的位置:
顶部中心:(46, 460)
机器人中心:(46, 379)
L. 中心:(20, 440)
R. 中心:(80,420)
这里是块:
碰撞/碰撞变量:
var leftB:Boolean = false;
var rightB:Boolean = false;
var topB:Boolean = false;
var botB:Boolean = false;
var topBPt:Point = new Point(42, 0);
var botBPt:Point = new Point(42, 112);
var leftBPt:Point = new Point(0, 56);
var rightBPt:Point = new Point(84, 56);
hitTestPoint 块:(为了节省空间,我只做最上面的一个。)
if(bg.hitTestPoint(fag.x + topBPt.x, fag.y + topBPt.y, true))
{
trace("Top Bump works.");
topB = true;
}
else
{
topB = false;
}
if(topB)
{
if(ySpeed < 0)
{
ySpeed *= -0.5;
}
}
我尝试使用不同的维度,我可能只是没有理解我正在阅读的网站上的完整解释。
另外,我有一种感觉,我可以通过将其设置为 hitTestObject 并手动使墙的每个部分不同来解决它......但我认为这不是有效或合理的。
谢谢你的帮助。