0
我目前有8个不同对象的over,out和click事件。 over和out事件对每个事件都是相同的(补间展开对象,然后缩回到外面状态)。在多个对象上侦听多个事件AS3
我以前曾要求过一种简单的方法来声明这些事件,现在我正在寻找一种更简单的方法来处理它们。
这里是我的代码:
//-----------GARAGE
function growGarage(e:MouseEvent):void{
scaleTweenX = new Tween(map_garage, "scaleX", Elastic.easeOut, 0.648, 1, 0.5, true);
scaleTweenY = new Tween(map_garage, "scaleY", Elastic.easeOut, 0.648, 1, 0.5, true);
}
function shrinkGarage(e:MouseEvent):void{
scaleTweenX = new Tween(map_garage, "scaleX", Elastic.easeOut, 1, 0.648, 0.5, true);
scaleTweenY = new Tween(map_garage, "scaleY", Elastic.easeOut, 1, 0.648, 0.5, true);
}
function garageClick(e:MouseEvent):void{
trace("clicked");
}
//-----------B&B
function growBandb(e:MouseEvent):void{
scaleTweenX = new Tween(map_bandb, "scaleX", Elastic.easeOut, 0.648, 1, 0.5, true);
scaleTweenY = new Tween(map_bandb, "scaleY", Elastic.easeOut, 0.648, 1, 0.5, true);
}
function shrinkBandb(e:MouseEvent):void{
scaleTweenX = new Tween(map_bandb, "scaleX", Elastic.easeOut, 1, 0.648, 0.5, true);
scaleTweenY = new Tween(map_bandb, "scaleY", Elastic.easeOut, 1, 0.648, 0.5, true);
}
function bandbClick(e:MouseEvent):void{
trace("clicked");
}
//-----------FACTORY
function growFactory(e:MouseEvent):void{
scaleTweenX = new Tween(map_factory, "scaleX", Elastic.easeOut, 0.648, 1, 0.5, true);
scaleTweenY = new Tween(map_factory, "scaleY", Elastic.easeOut, 0.648, 1, 0.5, true);
}
function shrinkFactory(e:MouseEvent):void{
scaleTweenX = new Tween(map_factory, "scaleX", Elastic.easeOut, 1, 0.648, 0.5, true);
scaleTweenY = new Tween(map_factory, "scaleY", Elastic.easeOut, 1, 0.648, 0.5, true);
}
function factoryClick(e:MouseEvent):void{
trace("clicked");
}
//-----------SCHOOL
function growSchool(e:MouseEvent):void{
scaleTweenX = new Tween(map_school, "scaleX", Elastic.easeOut, 0.648, 1, 0.5, true);
scaleTweenY = new Tween(map_school, "scaleY", Elastic.easeOut, 0.648, 1, 0.5, true);
}
function shrinkSchool(e:MouseEvent):void{
scaleTweenX = new Tween(map_school, "scaleX", Elastic.easeOut, 1, 0.648, 0.5, true);
scaleTweenY = new Tween(map_school, "scaleY", Elastic.easeOut, 1, 0.648, 0.5, true);
}
function schoolClick(e:MouseEvent):void{
trace("clicked");
}
我用一个单一的功能尝试,然后使用“本”在补间的对象而是扩大了整个舞台。
有没有办法压缩这段代码?
干杯,
丹