- 浏览: 11963 次
最新评论
flash聊天框 表情+文字 图文混排 (思路)
space.flash8.net/bbs/viewthread.php?tid=363077
在as2里面实现文图混排很麻烦(在as3里面就很容易解决了),文本框中,html标签的方式实现图文混排,图片的的位置总是不理想。
想自己手工写程序完成个效果,创建textField,把文本显示出来,然后获得表情符号出现的位置(x,y),在这里显示表情的MC。
但把as2关于textFied的部分看了一遍,竟然没有获得具体文本,所在位置坐标的办法……
唯一的办法只有textFormat.getTextExtent获得文字信息,但是多行的时候,第二行的字符宽度就无法获得了。
最后…… 想到的办法是这样:
1. my_txt 是要显示的字符串。
2. 创建一个TextField,名为 my_txetField,宽度为100,高度为20
my_txetField的autoSize属性为true
createTextField("my_txetField", 1, 0, 0,100,20);
my_txetField.autoSize = true;
3. my_txt2 是一个内容为空的字符串
做一个循环,把my_txt中的字符一个个的加入到my_txt2中
然后在my_txetField中显示字符,
因为 my_txetField.autoSize = true;
这时可以随时获得字符串最后一个字符的x坐标
4. my_txetField的宽度_width超过 显示框宽度时。
my_txt相应位置加入"\n"换行符号。my_txt2内容清空,行数增加。
然后再逐一往my_txt2 中输入字符。获得第二行每个字符的x坐标。
5 在这个循环中,遇到表情符号就记录下来这个表情字符 所在的x,y坐标。
6 最后显示出来就行了。
:( 不知道as2中 还有没有更好的办法获得字符的坐标位置。
PS:具体实现代码 public function addEmo(param1:TextField, param2:String, param3:Rectangle) { var xml:*; var emo:*; var img:*; var emo_mc:*; var ename:*; var emoreg:RegExp; var text:*; var space:*; var len:*; var i:*; var c:*; var l:*; var txt:* = param1; var emoName:* = param2; var rectangle:* = param3; var _loc_6:int; var _loc_7:* = this.emoXML.emotion; var _loc_5:* = new XMLList(""); for each (_loc_8 in _loc_7) { // label var _loc_9:* = _loc_7[_loc_6]; with (_loc_7[_loc_6]) { if (phrase == emoName) { _loc_5[_loc_6] = _loc_8; }// end if }// end with }// end of for each ... in xml = _loc_5; if (xml.length() == 0) { return; }// end if emo = new MovieClip(); img = String(xml[0].url); Image.loadGif(img, emo); emo.x = rectangle.x + txt.x - 2; emo.y = rectangle.y + txt.y - 6; emo_mc = txt.parent.getChildByName("emo_mc"); emo_mc.addChild(emo); ename = emoName.substr(1, emoName.length - 2); emoreg = new RegExp("\\[" + ename + "\\]", "i"); text = txt.htmlText; space; len = ename.length; i; while (i < len) { // label c = ename.substr(i, 1); l = Text.byteLength(c); space = space + (l == 2 ? (" ") : (" ")); i = i++; }// end while space = space + " "; text = text.replace(emoreg, space); txt.htmlText = text; xml; return; }// end function
发表评论
-
字符串内建函数
2012-07-06 09:52 604>>> quest='what ... -
js+正文规则 高亮搜索关键字(二)
2012-07-06 09:46 71711 我顶 用户通过搜索引擎搜索关键字进入你的网站或者 ... -
TWaver Flex与.net最新版,三大视图组件齐备
2012-07-03 13:44 824TWaver Flex与.NET最新版,三大视图组件齐 ... -
flash特效原理:标签云
2012-07-02 13:13 662其实标签云是一个比较常见的特效类,在wondefl里 ... -
Flex 4(Hero)对应Flex 3 容器方法
2012-07-02 13:13 575Spark容器 Halo容器 说明 numElem ... -
项目启动异常:Exception: java.lang.RuntimeException: XPathFactory#newInstance()
2012-07-02 13:12 1657项目启动时,报如下异常: **** MessageBrok ... -
Flex中datagrid动态添加列
2012-07-02 13:12 685addChild(dataGrid ... -
flex4:中DataGroup组件获取数据源(ArrayCollection方式)实例
2012-07-01 10:44 645flex/spark" xmlns:mx=&q ... -
flex--LineChart
2012-07-01 10:44 589最近工作上用到了linechart,在网上查的资料还是非常 ... -
Flex 动态创建 多个曲线图/柱形图 ColumnSeries
2012-07-01 10:44 700获取数据后的回调函数 private functio ... -
A Way to implement Abstract Class In Flex
2012-07-01 10:44 656A Way to implement Abstract C ... -
flex cairngorm项目实战
2012-07-01 10:44 506项目功能与界面模仿阿布网站 系统功能: 新闻管 ... -
Flex 拖拽范例
2012-06-30 17:08 502Flex 拖拽范例 2011年03月09日 Flex由于 ... -
Flex和Java 整合
2012-06-30 17:08 552Flex和Java 整合 2010年07月21日 Fle ... -
Flex FTP文件上传
2012-06-30 17:08 764Flex FTP文件上传 2010年10月10日 Fle ... -
Flex中的set啊Flex中的set
2012-06-30 17:07 475Flex中的set啊Flex中的set 2010年10月17 ...
相关推荐
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器).docx
flash图文混排,flash聊天表情,很好的表情。
聊天界面的图文混排功能,主要是表情和文字的混排!
完美解决Flex3 中 实现 图文混排 。
完美解决 Flex 4 中 实现 图文混排
as3.0编写的图文混排组件,值得学习。
为了让做AS3的朋友,不在同一个功能花掉人生最宝贵的时间. 把一些可以重复利用的代码奉献出来. 这个程序是关于AS3的图文混排,即聊天内容里插入表情. 希望给有需要的朋友.
这个是Adobe的官方用Flex4新的Text Layout Framework框架做的demo,demo演示:http://labs.adobe.com/technologies/textlayout/demos/。
ios 富文本(图文混排):支持图片,文字,GIF表情
2、聊天表情:这一部分是我精心制作的,使用GDI处理各种图片使得程序支持各种格式图片的预览、插入、保存。使用XML技术,方便快捷管理表情数据。自动释放表情图片资源(程序所在目录)及QQ表情组件(放到\System32\...
一个很漂亮的flex图文混排的控件,省的大家做自己定义控件时间
轻量级图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,话题等 , 可以自定义链接字,设置关键字高亮等功能 . 适用于微博,微信,IM聊天对话等场景 . 实现这些功能仅用了几百行代码,耦合性也较低 Github地址 :...
NULL 博文链接:https://xiaoa7.iteye.com/blog/290496
此例子可以有效地解决类似于QQ/微信中的图文混排效果,支持任意位置编辑 当内容太多时,ScrollView自动滚动到最下边 如果您需要引用该例子,请保留我的信息,欢迎大家一起探讨 另外在此例子中还有一个小问题,在...
支持gif图文混排
flash富文本图文混排swc文件,导入后可直接使用!
AS3编写的图文混排,AS3编写的图文混排,AS3编写的图文混排
图文混排聊天 能看懂js代码 编译一下引擎文件 导出js接口就可以直接用
开发知乎的第一步,首先熟悉看知乎的API以及Json数据的解析,才能进行下一步。
现实actionscript3.0聊天图文混排效果