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