| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
Blog站点如何用RS
如何优化Blog来提
如何从博客赚钱。
Web 2.0,如何创造
如何发挥Blog的互
企业如何进行博客
如何建立自己的博
如何从博客赚钱
请问如何利用博客
如何推广你的博客

教你如何創建自己的文字編輯器           

教你如何創建自己的文字編輯器

作者:佚名 来源:闪吧 作者: Super-Tomato 更新:2007-1-13 20:49:12 错误报告 我要投稿

因為之前看到要尋找MX 2004文字編輯器的組件, 但我在想MX和2004的編輯器在功用上有什麼不同呢?? 既然要等待到不如一起來動手做吧, 在這裡我會教大家製做出粗體, 斜體, 底線等最基本的寫法, 學好之後可以修改得更好更穩定:)
不管怎樣, 首先是新手的話還是要開始教你們在當中會使用到的一些指令
指令 1:                  
Selection.getBeginIndex();
會回傳當前所選取文字的開始位置, 就是你們動態文本中選取部份文字的時候, 鼠標開始的位置, 如果沒有選取的回傳值是 -1
指令 2 :                     

Selection.getEndIndex();
會回傳當前所選取文字的結束位置, 就是你們動態文本中選取部份文字的時候, 鼠標結束的位置, 如果沒有選取的回傳值是 -1
指令 3

:                      my_text.getTextFormat(index);

                   my_text.getTextFormat(beginIndex, endIndex);

返回object值, 通常使用的是這兩種方法, 第一種是指定index(數目)的位置, 那麼就會返回得到該位置的char, 第二種是定義位置而取得位置當中的文字, 如: my_text.getTextFormat(3,5); 那麼就會得到my_text當中3到5的文字





指令 4 :                     

my_text.setTextFormat(textformat);

                      my_text.setTextFormat(index, textformat);

                      my_text.setTextFormat(beginIndex, endIndex, textformat);

setTextFormat就是設定文字格式, 第一種只要有使用過AS創建動態文本的人都會使用到, 第二種和第三種同getTextFormat一樣, 是針對某文字設定格式
那麼開始吧, 首先打開Flash, 在當中建立一個輸入文本實體名叫 my_text, 分別建立粗體(bold),斜體(italic),底線(underline), 左對齊(leftAlign)....等的按鈕, 如圖 :按此在新窗口浏览图片然後到第一幀輸入 :

onEnterFrame = function() {
   if(Selection.getFocus() == "_level0.my_text") {       //循環偵測目前鼠標是否是在輸入欄位當中
      ss = Selection.getBeginIndex();       //取得選取的開始位置
      se = Selection.getEndIndex();       //取得選取結束的位置
   }
}


//監聽文字大小ComboBox更換事件
sizeChange = new Object();
sizeChange.change = function (eventObj) {
   if (ss != se) {       //如果有選取範圍的話
      current = my_text.getTextFormat(ss, se);          //取得輸入欄位範圍內的文字
      current.size = eventObj.target.value;       //取得ComboBox當中的值, 然後設定範圍內的格式
      my_text.setTextFormat(ss, se, current);         //設定格式
   } else {       //當沒有選取範圍的時候
      current = my_text.getTextFormat();   
      current.size = eventObj.target.value;
      my_text.setNewTextFormat(current);
   }
}
txtSize.addEventListener("change", sizeChange);


//監聽字型ComboBox更換事件, 指令解釋同上
fontChange = new Object();
fontChange.change = function (eventObj) {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);   
      current.font = eventObj.target.value;
      my_text.setTextFormat(ss, se, current);
   } else {
      current = my_text.getTextFormat();   
      current.font = eventObj.target.value;
      my_text.setNewTextFormat(current);
   }
}
txtFont.addEventListener("change", fontChange);


//監聽顏色ComboBox更換事件, 指令解釋同上
colorChange = new Object();
colorChange.change = function (eventObj) {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);   
      current.color = eventObj.target.value;
      my_text.setTextFormat(ss, se, current);
   } else {
      current = my_text.getTextFormat();   
      current.color = eventObj.target.value;
      my_text.setNewTextFormat(current);
   }
}
txtColor.addEventListener("change", colorChange);


//粗體按鈕事件, 指令解釋同上
bold.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      if (current.bold) {
         current.bold = false;
      } else {
         current.bold = true;
      }
      my_text.setTextFormat(ss, se, current);
   }
}


//斜體按鈕事件, 指令解釋同上
italic.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      if (current.italic) {
         current.italic = false;
      } else {
         current.italic = true;
      }
      my_text.setTextFormat(ss, se, current);
   }
}


//底線按鈕事件, 指令解釋同上
underline.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      if (current.underline) {
         current.underline = false;
      } else {
         current.underline = true;
      }
      my_text.setTextFormat(ss, se, current);
   }
}


//向左對齊按鈕事件, 指令解釋同上
leftAlign.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      current.align = "left";
      my_text.setTextFormat(ss, se, current);
   }
}


//中間對齊按鈕事件, 指令解釋同上
centerAlign.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      current.align = "center";
      my_text.setTextFormat(ss, se, current);
   }
}


//向右對齊按鈕事件, 指令解釋同上
rightAlign.onRelease = function() {
   if (ss != se) {
      current = my_text.getTextFormat(ss, se);
      current.align = "right";
      my_text.setTextFormat(ss, se, current);
   }
}


p/s: 在2004中的ComboBox在選取之後, 文字所選取的部份會變成透明, 但其實還是有被選取的... 至於要解決這個問題的話可以自己製做ComboBox, 這裡是這最基礎的教程
点击浏览该文件


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。