免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

关于TextField文本对象旋转后不见的问题

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:肤浅pcy 您是第3981个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
下面是我写的类,是一个包含textfield的气球,我把textfield对象加到一个sprite容器后给它旋转还是会有不见文字对象的情况,这个怎么解决?
  1. package  {
  2.        
  3.         import flash.display.Sprite;
  4.         import flash.display.GradientType;
  5.         import flash.geom.Matrix;
  6.         import flash.text.TextField;
  7.         import flash.text.TextFormat;
  8.         import flash.text.TextFieldAutoSize;
  9.         import flash.filters.GlowFilter;
  10.        
  11.        
  12.         public class Balloon extends Sprite {
  13.                
  14.                 private var color:uint;
  15.                 private var str:String;
  16.                 private var txt:TextField;
  17.                 private var tf:TextFormat;
  18.                 private var sp:Sprite;//用来承载气球的容器,为了能够让气球旋转时,能看见里面的字
  19.                 public var vy:Number;//设置气球的y方向的速度

  20.                
  21.                 public function Balloon(color:uint,str:String) {
  22.                         vy=0;
  23.                         this.color=color;
  24.                         this.str=str;
  25.                         sp=new Sprite();
  26.                         addChild(sp);
  27.                         init();
  28.                 }
  29.                
  30.                 private function init():void{
  31.                         addText();
  32.                         draw();
  33.                        
  34.                 }
  35.                
  36.                 private function draw():void{
  37.                         var colors:Array = [0xffffff, color];
  38.                         var alphas:Array = [1, 1];
  39.                         var ratios:Array = [0, 255];
  40.                         var matrix:Matrix = new Matrix();
  41.                         matrix.createGradientBox(100, 100, 0, 0, 0);
  42.                         graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios, matrix);
  43.                         graphics.moveTo(0,30);
  44.                         graphics.curveTo(2,0,25,0);
  45.                         graphics.curveTo(48,0,50,30);
  46.                         graphics.curveTo(45,70,25,70);
  47.                         graphics.curveTo(5,70,0,30);
  48.                         graphics.endFill();
  49.                 }
  50.                
  51.                 private function addText():void{
  52.                        
  53.                         txt=new TextField;
  54.                         txt.selectable=false;
  55.                         txt.width=50;
  56.                         txt.autoSize=TextFieldAutoSize.CENTER;
  57.                         txt.text=str;
  58.                         txt.textColor=((color&0xff)<<16)|((color>>16)<<8)|(color>>8&0xff)
  59.                         txt.x=18;
  60.                         txt.y=0;
  61.                        
  62.                         tf=new TextFormat();
  63.                         tf.size=30;
  64.                         tf.font="Apple Chancery";
  65.                         txt.setTextFormat(tf);
  66.                         txt.filters=[new GlowFilter(0x00000)];
  67.                         txt.cacheAsBitmap=true;
  68.                         sp.addChild(txt);
  69.                 }
  70.                
  71.         }
  72.        
  73. }
复制
下面是我在fla文件的时间轴上用这个类的实例,并给上rotation的值,然后就不见气球文字了。
  1. var btn:Balloon=new Balloon(0xff0000,"A");
  2. addChild(btn);
  3. btn.rotation=1;
  4. btn.x=100;
  5. btn.y=100;
复制
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

点评
B Color Smilies

您还可以输入:个字符
X

X

肤浅得要命

这个情况我遇见过  放入容器内 即可解决
你将sprite改为MovieClip试试
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

回复 2# flashroad


   好的,这就来试
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

肤浅得要命

TOP

回复 2# flashroad


   刚刚测试,没有用,我把类文件继承自MovieClip也没有用。等会儿我传一个超级简单的游戏文件,自己去年做的,不过有问题:游戏初次玩,气球进入屏幕的位置是没有问题的,不过当点击Play Again后位置就有问题了,是不是我的气球数组对象的引用已经改变啊。http://pan.baidu.com/s/1skFhVFB  这个百度云链接,因为代码太长,不好贴出来,麻烦了
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

肤浅得要命

TOP

回复 3# 肤浅pcy


    百度了一下  没想到一下子就找到了解决方法:
rotation修改为rotationZ即可解决


下面是原文地址:
http://bbs.9ria.com/forum.php?mod=viewthread&tid=273378
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

回复 5# flashroad

嗯嗯,试了可以的,谢啦,还有能不能有空看看我那个分享的文件代码问题啊,拜谢
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

获得 花仙子卡 一张

卡片说明:肤浅pcy照顾了失踪的小狗,主人付出了6金钱以作感谢

卡片效果:+6

点评
B Color Smilies

您还可以输入:个字符
X

X

肤浅得要命

TOP

回复 4# 肤浅pcy


    代码太多了,没有耐心研究

重点看 游戏重玩 按钮的代码那一块
应该调用游戏开始 的 函数
在游戏开始函数上面 将 游戏开始函数内用到的所有的变量的值 都设为初始值 即可
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

回复 7# flashroad


   好的,明天试试
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

肤浅得要命

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页