flash AS3.0问题 如何as中让shen从如图已设置的一段开始伸长而其宽度不增加,且gou大小不变一直在其前面

2025-01-05 12:52:51
推荐回答(1个)
回答1:

题主其实可以直说黄金矿工怎么实现就行了...

很多种方法可以实现,但篇幅有限,只说一种常规方法

首先“钩子”这个元件最好设置成居中顶对齐,并且不要加绳子,如下图所示:

按题主的习惯,仍然命名为gouzi

但是绳子需要个锚点,按题主的思路就新建一个maodian元件吧

好了现在开始绘制,用代码新建一个绳子元件:

// 绳子
var shengzi: Shape = new Shape();
addChild(shengzi);
// 绳子:粗细1,颜色红
shengzi.graphics.lineStyle(1, 0xff0000);
// 先移动画笔到锚点
shengzi.graphics.moveTo(maodian.x, maodian.y);
// 从锚点绘制到钩子
shengzi.graphics.lineTo(gouzi.x, gouzi.y);

运行效果如下:

然后不管你的钩子在哪里,在ENTER_FRAME事件中不断绘制这段绳子就行了

addEventListener(Event.ENTER_FRAME, onUpdate);
function onUpdate(e: Event): void
{
// 清空旧绳子
shengzi.graphics.clear();
// 绘制新绳子
shengzi.graphics.lineStyle(1, 0xff0000);
shengzi.graphics.moveTo(maodian.x, maodian.y);
shengzi.graphics.lineTo(gouzi.x, gouzi.y);
}

效果如下: