В настоящее время у меня есть событие over, out и click для 8 разных объектов. События over и out одинаковы для каждого (tween расширяет объект, а затем сжимает его для выходного состояния).Прослушивание нескольких событий на нескольких объектах 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");
}
Я попытался с помощью одной функции, а затем с помощью «это» как объект анимации, но это расширило весь этап.
Есть ли способ сконденсировать этот код?
Приветствия,
Dan