I’ve been working on a project and have lots of very simple actionscript controlling a certain part of the project site.
Firstly the code works. No problem there. But is there any way of simplifying the code. There are many functions that are repeated many times on multiple movie clips but I wondered if there is an easier way to write this.
I have attached my code. Any help would be appreciated. If you need me to explain is more detail what the code does let me know.
// set properties of draggableitems here
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
// get position of all 7 dropzones
getProperty(“cycle_mc.drop1”,_x);
getProperty(“cycle_mc.drop1”,_y);
getProperty(“cycle_mc.drop2”,_x);
getProperty(“cycle_mc.drop2”,_y);
getProperty(“cycle_mc.drop3”,_x);
getProperty(“cycle_mc.drop3”,_y);
getProperty(“cycle_mc.drop4”,_x);
getProperty(“cycle_mc.drop4”,_y);
getProperty(“cycle_mc.drop5”,_x);
getProperty(“cycle_mc.drop5”,_y);
getProperty(“cycle_mc.drop6”,_x);
getProperty(“cycle_mc.drop6”,_y);
getProperty(“cycle_mc.drop7”,_x);
getProperty(“cycle_mc.drop7”,_y);
// start drag and associated properties onPress
dragWaste.onPress = function() {
startDrag(“dragWaste”)
cycle_mc.drop2.gotoAndStop(“wastePress”);
cycle_mc.drop3.gotoAndStop(“wastePress”);
cycle_mc.drop6.gotoAndStop(“wastePress”);
cycle_mc.drop7.gotoAndStop(“wastePress”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
// on drag set alpha channels of non-selected
setProperty (cycle_mc.arrowA, _alpha, 30);
setProperty (cycle_mc.arrowB, _alpha, 30);
setProperty (cycle_mc.arrowD, _alpha, 30);
setProperty (cycle_mc.arrowF, _alpha, 30);
setProperty (cycle_mc.arrowG, _alpha, 30);
setProperty (cycle_mc.arrowH, _alpha, 30);
setProperty (cycle_mc.drop1, _alpha, 30);
setProperty (cycle_mc.drop4, _alpha, 30);
setProperty (cycle_mc.drop5, _alpha, 30);
}
dragCombined.onPress = function() {
startDrag(“dragCombined”)
cycle_mc.drop1.gotoAndStop(“combPress”);
cycle_mc.drop2.gotoAndStop(“combPress”);
cycle_mc.drop3.gotoAndStop(“combPress”);
cycle_mc.drop5.gotoAndStop(“combPress”);
cycle_mc.drop7.gotoAndStop(“combPress”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
// on drag set alpha channels of non-selected
setProperty (cycle_mc.arrowB, _alpha, 30);
setProperty (cycle_mc.arrowD, _alpha, 30);
setProperty (cycle_mc.arrowF, _alpha, 30);
setProperty (cycle_mc.arrowG, _alpha, 30);
setProperty (cycle_mc.arrowI, _alpha, 30);
setProperty (cycle_mc.drop4, _alpha, 30);
setProperty (cycle_mc.drop6, _alpha, 30);
}
dragBiomass.onPress = function() {
startDrag(“dragBiomass”)
cycle_mc.drop1.gotoAndStop(“bioPress”);
cycle_mc.drop2.gotoAndStop(“bioPress”);
cycle_mc.drop3.gotoAndStop(“bioPress”);
cycle_mc.drop4.gotoAndStop(“bioPress”);
cycle_mc.drop5.gotoAndStop(“bioPress”);
cycle_mc.drop6.gotoAndStop(“bioPress”);
cycle_mc.drop7.gotoAndStop(“bioPress”);
// on drag set alpha channels of non-selected
setProperty (cycle_mc.arrowB, _alpha, 30);
setProperty (cycle_mc.arrowD, _alpha, 30);
setProperty (cycle_mc.arrowG, _alpha, 30);
}
// -------------------- onRelease WASTE ONLY --------------------------------
dragWaste.onRelease = function() {
// Hit Drop 2
if(dragWaste.hitTest(cycle_mc.drop2)) {
cycle_mc.drop2.gotoAndStop(“wasteDrop”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
cycle_mc.desiredAngle = 288;
setProperty (cycle_mc.arrowA, _alpha, 100);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowH, _alpha, 100);
}
// Hit Drop 3
else if(dragWaste.hitTest(cycle_mc.drop3)) {
cycle_mc.drop3.gotoAndStop(“wasteDrop”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
cycle_mc.desiredAngle = 216;
setProperty (cycle_mc.arrowA, _alpha, 100);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowH, _alpha, 100);
setProperty (cycle_mc.drop1, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop5, _alpha, 100);
}
// Hit Drop 6
else if(dragWaste.hitTest(cycle_mc.drop6)) {
cycle_mc.drop6.gotoAndStop(“wasteDrop”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
cycle_mc.desiredAngle = 72;
setProperty (cycle_mc.arrowA, _alpha, 100);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowH, _alpha, 100);
setProperty (cycle_mc.drop1, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop5, _alpha, 100);
}
// Hit Drop 7
else if(dragWaste.hitTest(cycle_mc.drop7)) {
cycle_mc.drop7.gotoAndStop(“wasteDrop”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
cycle_mc.desiredAngle = 36;
setProperty (cycle_mc.arrowA, _alpha, 100);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowH, _alpha, 100);
setProperty (cycle_mc.drop1, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop5, _alpha, 100);
}
// Hit Nothing
else {
setProperty (dragWaste, _x, 65);
setProperty (dragWaste, _y, 634);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (cycle_mc.arrowA, _alpha, 100);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowH, _alpha, 100);
setProperty (cycle_mc.drop1, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop5, _alpha, 100);
}
stopDrag();
}
// -------------------- onRelease COMBINED ONLY --------------------------------
dragCombined.onRelease = function() {
// Hit Drop 1
if(dragCombined.hitTest(cycle_mc.drop1)) {
cycle_mc.drop1.gotoAndStop(“combDrop”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.desiredAngle = 0;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
// Hit Drop 2
else if(dragCombined.hitTest(cycle_mc.drop2)) {
cycle_mc.drop2.gotoAndStop(“combDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.desiredAngle = 288;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
// Hit Drop 3
else if(dragCombined.hitTest(cycle_mc.drop3)) {
cycle_mc.drop3.gotoAndStop(“combDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.desiredAngle = 216;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
// Hit Drop 5
else if(dragCombined.hitTest(cycle_mc.drop5)) {
cycle_mc.drop5.gotoAndStop(“combDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.desiredAngle = 108;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
// Hit Drop 7
else if(dragCombined.hitTest(cycle_mc.drop7)) {
cycle_mc.drop7.gotoAndStop(“combDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.desiredAngle = 36;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
// Hit Nothing
else {
setProperty (dragCombined, _x, 65);
setProperty (dragCombined, _y, 669);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowF, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
setProperty (cycle_mc.arrowI, _alpha, 100);
setProperty (cycle_mc.drop4, _alpha, 100);
setProperty (cycle_mc.drop6, _alpha, 100);
}
stopDrag();
}
// -------------------- onRelease BIOMASS ONLY --------------------------------
dragBiomass.onRelease = function() {
// Hit Drop 1
if(dragBiomass.hitTest(cycle_mc.drop1)) {
cycle_mc.drop1.gotoAndStop(“bioDrop”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 0;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 2
else if(dragBiomass.hitTest(cycle_mc.drop2)) {
cycle_mc.drop2.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 288;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 3
else if(dragBiomass.hitTest(cycle_mc.drop3)) {
cycle_mc.drop3.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 216;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 4
else if(dragBiomass.hitTest(cycle_mc.drop4)) {
cycle_mc.drop4.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 180;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 5
else if(dragBiomass.hitTest(cycle_mc.drop5)) {
cycle_mc.drop5.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 108;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 6
else if(dragBiomass.hitTest(cycle_mc.drop6)) {
cycle_mc.drop6.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 72;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Drop 7
else if(dragBiomass.hitTest(cycle_mc.drop7)) {
cycle_mc.drop7.gotoAndStop(“bioDrop”);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.desiredAngle = 36;
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
// Hit Nothing
else {
setProperty (dragBiomass, _x, 65);
setProperty (dragBiomass, _y, 705);
cycle_mc.drop1.gotoAndStop(“1”);
cycle_mc.drop2.gotoAndStop(“1”);
cycle_mc.drop3.gotoAndStop(“1”);
cycle_mc.drop4.gotoAndStop(“1”);
cycle_mc.drop5.gotoAndStop(“1”);
cycle_mc.drop6.gotoAndStop(“1”);
cycle_mc.drop7.gotoAndStop(“1”);
setProperty (cycle_mc.arrowB, _alpha, 100);
setProperty (cycle_mc.arrowD, _alpha, 100);
setProperty (cycle_mc.arrowG, _alpha, 100);
}
stopDrag();
}