Hi Everyone,
I decided to rewrite my question from an earlier post…
I’m using the TextMetric class: http://blog.greensock.com/textmetrics/
The code below currently resides on the attachedMC timeline, and is written twice with different variables for each time called for each dynamicText.
main timeline+++
///////////////////attachedMC+++
/////////////////////////////////////dynamicTextONE
/////////////////////////////////////dynamicTextTWO
What i am trying to do (emphasis on trying) is write the code on the main timeline, so that it can be called from any attached MC, a sort of global function if you will. Another thing to note is that there are multiple dynamic Texts using the function at the same time.
I have attempted to rewrite the code multiple times myself to no avail, so any input would be greatly appreciated.
CODE GIVEN BY DEVELOPER:
import gs.utils.text.TextMetrics;
var instances_array = TextMetrics.getLineMetrics(profile_txt);
var instance;
for (var i = 0; i <instances_array.length; i++) {
instance = instances_array*;
if(instance.width < 0){
//do nothing
}else if(instance.width > 3) {
box(this, instance.x, instance.y, instance.width, instance.height);
}
}
function box(parent, x, y, width, height):MovieClip {
var l = parent.getNextHighestDepth();
var mc = parent.createEmptyMovieClip("box"+l, l);
mc.beginFill(0xFF0000);
mc.moveTo (0, 0);
mc.lineTo (width, 0);
mc.lineTo (width, height);
mc.lineTo (0, height);
mc.lineTo (0, 0);
mc.endFill();
mc._x = x;
mc._y = y;
mc._alpha = 50;
return mc;
}
CODE TWEAKED BY ME FOR MULTIPLE INSTANCES OF TEXT:
import gs.utils.text.TextMetrics;
TextField.prototype.swapDepths = MovieClip.prototype.swapDepths;
profile_txt.swapDepths(200);
var new_array = TextMetrics.getLineMetrics(profile_txt);
var instance;
mission_txt.swapDepths(300);
var new_missionarray = TextMetrics.getLineMetrics(mission_txt);
var missioninstance;
for (var s = 0; s <new_missionarray.length; s++) {
missioninstance = new_missionarray[s];
if(missioninstance.width < 0){
//do nothing
}
else if(missioninstance.width > 3) {
box2(this, (missioninstance.x - 7), (missioninstance.y - 8), (missioninstance.width + 14), (missioninstance.height + 14));
}
}
function box2(parents, xs, ys, widths, heights):MovieClip {
for (var r = 1; r <new_missionarray.length; r++) {
var pr = s;
var mc2 = parents.createEmptyMovieClip("boxd"+pr, pr+100);
mc2.beginFill(0x19120C);
mc2.moveTo (0, 0);
mc2.lineTo (widths, 0);
mc2.lineTo (widths, heights);
mc2.lineTo (0, heights);
mc2.lineTo (0, 0);
mc2.endFill();
mc2._x = xs;
mc2._y = ys;
mc2._alpha = 100;
//trace(mc.getDepth());
return mc2;
}
}
for (var i = 0; i <new_array.length; i++) {
instance = new_array*;
if(instance.width < 0){
//do nothing
}
else if(instance.width > 3) {
box(this, (instance.x - 7), (instance.y - 8), (instance.width + 14), (instance.height + 14));
}
}
function box(parent, x, y, width, height):MovieClip {
for (var g = 1; g <new_array.length; g++) {
var tr = i;
var mc = parent.createEmptyMovieClip("box"+tr, tr);
mc.beginFill(0x19120C);
mc.moveTo (0, 0);
mc.lineTo (width, 0);
mc.lineTo (width, height);
mc.lineTo (0, height);
mc.lineTo (0, 0);
mc.endFill();
mc._x = x;
mc._y = y;
mc._alpha = 100;
//trace(mc.getDepth());
return mc;
}
}
stop();
CODE THAT HAS BEEN RAPED BY ME IN FUTILE ATTEMPT #4 TO WORK ON MAIN TIMELINE:
import gs.utils.text.TextMetrics;
TextField.prototype.swapDepths = MovieClip.prototype.swapDepths;
this.attachMovie("text_mc","text_mc",1);
bgboxmaker = function(txtName, txtNameArrayOne, txtNameArrayTwo, BoxVarOne) {
trace("bgboxmaker");
txtNameArrayOne = TextMetrics.getLineMetrics(txtName);
for (var i = 0; i <txtNameArrayOne.length; i++) {
txtNameArrayTwo = txtNameArrayOne*;
if(txtNameArrayTwo.width < 0){
trace("if");
//do nothing
}
else if(txtNameArrayTwo.width > 1) {
trace("elseif");
//box(this, (txtNameArrayTwo.x - 5), (txtNameArrayTwo.y - 5), (txtNameArrayTwo.width + 10), (txtNameArrayTwo.height + 10));
for (var r = 1; r <txtNameArrayOne.length; r++) {
BoxVarOne = i;
box_mc = this.createEmptyMovieClip("box_mc"+BoxVarOne, BoxVarOne+100);
box_mc.beginFill(0x19120C);
box_mc.moveTo (0, 0);
box_mc.lineTo (txtNameArrayTwo.width + 10, 0);
box_mc.lineTo (txtNameArrayTwo.width + 10, txtNameArrayTwo.height + 10);
box_mc.lineTo (0, txtNameArrayTwo.height + 10);
box_mc.lineTo (0, 0);
box_mc.endFill();
box_mc._x = txtNameArrayTwo.x - 5;
box_mc._y = txtNameArrayTwo.y - 5;
box_mc._alpha = 6;
return box_mc;
}
}
Thanks for looking,
Martha