RE: [Flashcoders] Still need help-Can't reference library font fromclass

2006-03-14 Thread Merrill, Jason
Jamie, thanks - so I tried calling setNewTextFormat(theFormat) before
(and also after) I set the text value the second time, and it still
doesn't show the text field.  If I just set the text and the text format
one time, it shows up fine.  

This is unbelievably frustrating, why would Flash behave so?  Seems very
buggy to me.

Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com










>>-Original Message-
>>From: [EMAIL PROTECTED] [mailto:flashcoders-
>>[EMAIL PROTECTED] On Behalf Of Jamie S
>>Sent: Friday, March 10, 2006 4:13 PM
>>To: Flashcoders mailing list
>>Subject: Re: [Flashcoders] Still need help-Can't reference library
font fromclass
>>
>>Although I have had my fair share of headaches with TextFormat, I
>>think I may know what is going on here.
>>
>>There are two methods for assigning a textFormat to a textField. These
>>are setTextFormat() and setNewTextFormat().
>>
>>The way I understand it setTextFormat() sets the style of the text
>>that is currently assigned to the textField BUT any new text assigned
>>by actionscript, by replaceSel() or by the user (in the case of input
>>text) is styled according to the setNewTextFormat() method and if none
>>is given, as in your class, the new text is given some default style,
>>which, as you've noticed, is not necessarily the same as the style you
>>defined by setTextFormat().
>>
>>so I would try using setNewTextFormat() also and see if that works.
>>
>>J
>>
>>On 3/10/06, Merrill, Jason <[EMAIL PROTECTED]> wrote:
>>> I finally did get this to work by trying it in a fresh .fla, but now
I'm
>>> seeing this issue:
>>>
>>> When I do this:
>>>
>>> import com.icfconsulting.objects.SimpleTextField;
>>> tf=SimpleTextField.create(this)
>>>
>>> It's fine, the text field show and with the right font.  But when I
try
>>> and set the text on the text field it returns, like this:
>>>
>>> import com.icfconsulting.objects.SimpleTextField;
>>> tf=SimpleTextField.create(this)
>>> tf.text="hello, hello!"
>>>
>>> It just shows blank, like setting the text on the text field my
class
>>> returns screws it up somehow.  Any idea what's up? The class code is
the
>>> same, and I am trying this in a new fresh .fla with a "Swis" font in
the
>>> library.  Why would adding that one line screw it up again?
>>>
>>> My simple class test file is as follows:
>>>
>>> class com.icfconsulting.objects.SimpleTextField{
>>>public static function create(target_mc:MovieClip):TextField{
>>>var my_fmt:TextFormat = new TextFormat();
>>>my_fmt.font = "Swis";
>>>my_fmt.color = 0x00;
>>>my_fmt.size = 16;
>>>target_mc.createTextField("tf_txt",0,20,20,200,20);
>>>target_mc.tf_txt.embedFonts = true;
>>>target_mc.tf_txt.text="Hello world";
>>>target_mc.tf_txt.setTextFormat(my_fmt);
>>>return target_mc.tf_txt;
>>>}
>>> }
>>>
>>> Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com
>>>
>>>
>>>
>>>
>>> NOTICE:
>>> This message is for the designated recipient only and may contain
privileged or
>>confidential information. If you have received it in error, please
notify the sender
>>immediately and delete the original. Any other use of this e-mail by
you is
>>prohibited.
>>> ___
>>> Flashcoders@chattyfig.figleaf.com
>>> To change your subscription options or search the archive:
>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>>> Brought to you by Fig Leaf Software
>>> Premier Authorized Adobe Consulting and Training
>>> http://www.figleaf.com
>>> http://training.figleaf.com
>>>
>>___
>>Flashcoders@chattyfig.figleaf.com
>>To change your subscription options or search the archive:
>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>>Brought to you by Fig Leaf Software
>>Premier Authorized Adobe Consulting and Training
>>http://www.figleaf.com
>>http://training.figleaf.com
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] Still need help-Can't reference library font fromclass

2006-03-10 Thread Jamie S
Jason,

try this... it worked for me.

target_mc.tf_txt.setTextFormat(my_fmt); applies to the text in the textField
before you apply setTextFormat i.e. Hello world" and
target_mc.tf_txt.setNewTextFormat(my_fmt); applies to all text after the
setTextFormat call i.e. "hi"

J

class SimpleTextField{
  public static function create(target_mc:MovieClip):TextField{
  var my_fmt:TextFormat = new TextFormat();
  my_fmt.font = "Swis";
  my_fmt.color = 0x00;
  my_fmt.size = 16;
  target_mc.createTextField("tf_txt",0,20,20,200,20);
  target_mc.tf = target_mc.tf_txt
  target_mc.tf_txt.embedFonts = true;
  target_mc.tf_txt.text="Hello world";
  target_mc.tf_txt.setTextFormat(my_fmt);
  target_mc.tf_txt.setNewTextFormat(my_fmt);
  return target_mc.tf_txt;
  }
}

On 3/10/06, Merrill, Jason <[EMAIL PROTECTED]> wrote:
>
> Thanks Jamie - yeah, I thought  of that, and Duncan also suggested it
> offlist, but any combination of setNextTextFormat doesn't seem to work
> for me either.  My problem IS easily testable:
>
> 1. Create a font in your library - export it for actionscript, call it
> "Swis".
> 2. Make your SimpleTextField.as class file next to your .fla like this:
> class SimpleTextField{
>public static function create(target_mc:MovieClip):TextField{
>var my_fmt:TextFormat = new TextFormat();
>my_fmt.font = "Swis";
>my_fmt.color = 0x00;
>my_fmt.size = 16;
>target_mc.createTextField("tf_txt",0,20,20,200,20);
>target_mc.tf = target_mc.tf_txt
>target_mc.tf_txt.embedFonts = true;
>target_mc.tf_txt.text="Hello world";
>target_mc.tf_txt.setTextFormat(my_fmt);//or
> setNewTextFormat
>return target_mc.tf_txt;
>}
> }
>
> 3. Put this code on the timeline:
>
> import SimpleTextField;
> tf=SimpleTextField.create(this)
> tf.text="hi"
>
> If I remove the last line: tf.text="hi" it works fine.  If I leave it
> in, nothing appears on the stage.  This is driving me nutz.
>
>
> Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com
>
>
>
>
>
>
>
>
>
>
> >>-----Original Message-
> >>From: [EMAIL PROTECTED] [mailto:flashcoders-
> >>[EMAIL PROTECTED] On Behalf Of Jamie S
> >>Sent: Friday, March 10, 2006 4:13 PM
> >>To: Flashcoders mailing list
> >>Subject: Re: [Flashcoders] Still need help-Can't reference library
> font fromclass
> >>
> >>Although I have had my fair share of headaches with TextFormat, I
> >>think I may know what is going on here.
> >>
> >>There are two methods for assigning a textFormat to a textField. These
> >>are setTextFormat() and setNewTextFormat().
> >>
> >>The way I understand it setTextFormat() sets the style of the text
> >>that is currently assigned to the textField BUT any new text assigned
> >>by actionscript, by replaceSel() or by the user (in the case of input
> >>text) is styled according to the setNewTextFormat() method and if none
> >>is given, as in your class, the new text is given some default style,
> >>which, as you've noticed, is not necessarily the same as the style you
> >>defined by setTextFormat().
> >>
> >>so I would try using setNewTextFormat() also and see if that works.
> >>
> >>J
> >>
> >>On 3/10/06, Merrill, Jason <[EMAIL PROTECTED]> wrote:
> >>> I finally did get this to work by trying it in a fresh .fla, but now
> I'm
> >>> seeing this issue:
> >>>
> >>> When I do this:
> >>>
> >>> import com.icfconsulting.objects.SimpleTextField;
> >>> tf=SimpleTextField.create(this)
> >>>
> >>> It's fine, the text field show and with the right font.  But when I
> try
> >>> and set the text on the text field it returns, like this:
> >>>
> >>> import com.icfconsulting.objects.SimpleTextField;
> >>> tf=SimpleTextField.create(this)
> >>> tf.text="hello, hello!"
> >>>
> >>> It just shows blank, like setting the text on the text field my
> class
> >>> returns screws it up somehow.  Any idea what's up? The class code is
> the
> >>> same, and I am trying this in a new fresh .fla with a "Swis" font in
> the
> >>> library. 

RE: [Flashcoders] Still need help-Can't reference library font fromclass

2006-03-10 Thread Merrill, Jason
Thanks Jamie - yeah, I thought  of that, and Duncan also suggested it
offlist, but any combination of setNextTextFormat doesn't seem to work
for me either.  My problem IS easily testable:

1. Create a font in your library - export it for actionscript, call it
"Swis".  
2. Make your SimpleTextField.as class file next to your .fla like this:
class SimpleTextField{  
   public static function create(target_mc:MovieClip):TextField{
   var my_fmt:TextFormat = new TextFormat();
   my_fmt.font = "Swis";
   my_fmt.color = 0x00;
   my_fmt.size = 16;
   target_mc.createTextField("tf_txt",0,20,20,200,20);
   target_mc.tf = target_mc.tf_txt
   target_mc.tf_txt.embedFonts = true;
   target_mc.tf_txt.text="Hello world";
   target_mc.tf_txt.setTextFormat(my_fmt);//or
setNewTextFormat
   return target_mc.tf_txt;
   }
}

3. Put this code on the timeline:

import SimpleTextField;
tf=SimpleTextField.create(this)
tf.text="hi"

If I remove the last line: tf.text="hi" it works fine.  If I leave it
in, nothing appears on the stage.  This is driving me nutz.


Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com










>>-Original Message-
>>From: [EMAIL PROTECTED] [mailto:flashcoders-
>>[EMAIL PROTECTED] On Behalf Of Jamie S
>>Sent: Friday, March 10, 2006 4:13 PM
>>To: Flashcoders mailing list
>>Subject: Re: [Flashcoders] Still need help-Can't reference library
font fromclass
>>
>>Although I have had my fair share of headaches with TextFormat, I
>>think I may know what is going on here.
>>
>>There are two methods for assigning a textFormat to a textField. These
>>are setTextFormat() and setNewTextFormat().
>>
>>The way I understand it setTextFormat() sets the style of the text
>>that is currently assigned to the textField BUT any new text assigned
>>by actionscript, by replaceSel() or by the user (in the case of input
>>text) is styled according to the setNewTextFormat() method and if none
>>is given, as in your class, the new text is given some default style,
>>which, as you've noticed, is not necessarily the same as the style you
>>defined by setTextFormat().
>>
>>so I would try using setNewTextFormat() also and see if that works.
>>
>>J
>>
>>On 3/10/06, Merrill, Jason <[EMAIL PROTECTED]> wrote:
>>> I finally did get this to work by trying it in a fresh .fla, but now
I'm
>>> seeing this issue:
>>>
>>> When I do this:
>>>
>>> import com.icfconsulting.objects.SimpleTextField;
>>> tf=SimpleTextField.create(this)
>>>
>>> It's fine, the text field show and with the right font.  But when I
try
>>> and set the text on the text field it returns, like this:
>>>
>>> import com.icfconsulting.objects.SimpleTextField;
>>> tf=SimpleTextField.create(this)
>>> tf.text="hello, hello!"
>>>
>>> It just shows blank, like setting the text on the text field my
class
>>> returns screws it up somehow.  Any idea what's up? The class code is
the
>>> same, and I am trying this in a new fresh .fla with a "Swis" font in
the
>>> library.  Why would adding that one line screw it up again?
>>>
>>> My simple class test file is as follows:
>>>
>>> class com.icfconsulting.objects.SimpleTextField{
>>>public static function create(target_mc:MovieClip):TextField{
>>>var my_fmt:TextFormat = new TextFormat();
>>>my_fmt.font = "Swis";
>>>my_fmt.color = 0x00;
>>>my_fmt.size = 16;
>>>target_mc.createTextField("tf_txt",0,20,20,200,20);
>>>target_mc.tf_txt.embedFonts = true;
>>>target_mc.tf_txt.text="Hello world";
>>>target_mc.tf_txt.setTextFormat(my_fmt);
>>>return target_mc.tf_txt;
>>>}
>>> }
>>>
>>> Jason Merrill   |   E-Learning Solutions   |  icfconsulting.com
>>>
>>>
>>>
>>>
>>> NOTICE:
>>> This message is for the designated recipient only and may contain
privileged or
>>confidential information. If you have received it in error, please
notify the sender
>>immediately and delete the original. Any other use of this e-mail by
you is
>>prohibited.
>>> ___
>>> Flashcoders@chattyfig.figleaf.co