网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月17日漏签0天
奕帆吧 关注:71贴子:1,468
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 8回复贴,共1页
<<返回奕帆吧
>0< 加载中...

【flash痒痒热潮】调用外部txt文件

  • 只看楼主
  • 收藏

  • 回复
  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Flash可以通过帧、按扭、影片剪辑来调用外部文件。调用的外部文件包括:外部文本文件、外部程序文件、外部*.swf文件、外部图片文件、外部音乐文件、外部脚本文件。
一.调用外部文本文件:(文本文件开头要以flash中的动态文本框的变量名开头,如
msg=".........."这样的形式,要和编辑的Flash文件放在同一目录下)
1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框
2.制作两个按扭(一个调用,一个清除)拖放到场景中。
3.调用按扭上添加AS:
on(release){//松开鼠标后执行下面的代码;
loadVariables("msg.txt",msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中;
System.useCodepage=true;//使外部文件的中文字符能够正确显示;
}
4.清除按扭上的AS:
on(release){//松开鼠标后清楚动态文本框中的内容;
msg="";
}
5.Ctrl+Enter测试. 



当然代码也可以写在帧上调用按扭的实例名是bt1,清除按扭的实例名是bt2)
在第一帧上加如下代码:
stop();
_root.bt1.onRelease=function(){
loadVariables("msg.txt",msg);
System.useCodepage=true;
}
_root.bt2.onRelease=function(){
_root.msg="";
}

Ctrl+Enter测试.


调用的外部文本文件能够滚动:
1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框
2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中
3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向"箭头"按F8转为按扭元件;复制一个"箭头"按扭,垂直镜象,使这两个按扭和竖条的两端对齐.
4.调用按扭上的AS:
on(release){//松开鼠标后执行下面的代码;
loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;
System.useCodepage=true;//使外部文件的中文字符能够正确显示;
}
清除按扭上的AS:
on(release){
_root.msg="";//清除动态文本框中的内容;
}
向上的按扭上的AS:
on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;
}
向下的按扭上的AS:
on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;
}
Ctrl+Enter测试.


当然代码也可以写在帧上调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down)
在第一帧上加如下代码:
_root.bt1.onRelease=function(){//松开鼠标后执行下面的代码;
loadVariables("msg1.txt",msg);//调用msg1.txt文本文件到动态文本框msg中;
System.useCodepage=true;//使外部文件的中文字符能够正确显示;
}
_root.bt2.onRelease=function(){//松开鼠标后执行
_root.msg="";//清除动态文本框中的内容;
}
_root.up.onPress=function(){//在向上按扭上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;
}
_root.down.onPress=function(){//在向下按扭上每按一次鼠标执行下面的代码;
_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;
}
二.调用外部*.swf文件(加载到影片剪辑中):
外部*.swf文件要和编辑的Flash文件放在同一目录下

1.新建立一个空的影片剪辑mymc,把它放在场景中,实例名是:mymc.
2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中<BR>3.调用按扭上的AS:

on(release){//鼠标离开按扭后执行下面的代码;
loadMovie("flash8.swf","mymc");//加载外部的"flash8.swf"文件到"mymc"空影片剪辑中;
mymc._x=70;//加载影片的X轴坐标;<BR> mymc._y=20;//加载影片的Y轴坐标;



  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1. 建立一个动态文本(myText), 再来建立一个滚动条(scrollBar)

2. 在帧上的控制代码为 : 
scrollBar.initial = function() { //定义滚动条的最高和最低位置
this.min = myText._y;
this.max = this._y+(myText._height-this._height);
inc = int(Math.abs(this.max-this.min)/myText.maxscroll);
};
scrollBar.onPress = function() { //当滚动条被点下的时候
this.startDrag(false, this._x, this.min, this._x, this.max); //根据上方定义的变量赋予滚动条的拖拉范围
this.onEnterFrame = function() { //拖拉时循环决定文本的滚动
myText.scroll = int(scrollBar._y/inc);
};
};
scrollBar.onRelease = function() { //滚动条放开的时候
this.stopDrag(); //停止拖拉
delete this.onEnterFrame; //删除循环以释放资源的占用
};
scrollBar.initial(); //开始定义 就这样而已... 很简单吧... 如果有兴趣的朋友可以进一步的增加功能


2025-07-17 08:19:47
广告
  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
建立一个动态文本区域,属性取名:my_txt
从组件库中拖一个UIScrollBar放置在文本框的右侧,调整长度和文本框齐
在第一帧写如下代码:

stop();
my_txt.wordWrap = true;
//loadtext=""; 
//loadVariables("jieshao.txt",loadtext); 
System.useCodepage=true; 

this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);

// Set the target text field.
my_sb.setScrollTarget(my_txt);

trace(my_sb._targetInstanceName);

// Size it to match the text field.
my_sb.setSize(16, my_txt._height); 

// Move it next to the text field.
my_sb.move(my_txt._x + my_txt._width, my_txt._y);

// Set scroll properties.
my_sb.setScrollProperties(10, 0, 99);

// Load text to display and define onData handler.
var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
 if (src != undefined) {
 my_txt.text = src;
 my_txt.condenseWhite = true;
 } else {
 my_txt.text = "Error loading text.";
 }
};
my_lv.load("xiaozhan.txt");


  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
wordWrap(TextField.wordWrap 属性)
public wordWrap : Boolean

一个布尔值,指示文本字段是否自动换行。如果 wordWrap 的值为 true,则该文本字段自动换行;如果值为 false,则该文本字段不自动换行。

可用性:ActionScript 1.0;Flash Player 6




useCodepage(System.useCodepage 属性)
public static useCodepage : Boolean

一个布尔值,它通知 Flash Player 是使用 Unicode 来解释外部文本文件,还是使用运行播放器的操作系统的传统代码页来解释外部文本文件。System.useCodepage 的默认值为 false。 

当该属性设置为 false 时,Flash Player 按 Unicode 解释外部文本文件。(保存这些文件时,必须使用 Unicode 对其进行编码。) 
当属性设置为 true 时,Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件。 
在您保存文本文件时,作为外部文件加载(使用 loadVariables() 或 getURL() 语句,或使用 LoadVars 类或 XML 类)的文本必须按 Unicode 进行编码,以使 Flash Player 能够按 Unicode 识别它。若要使用 Unicode 对外部文件进行编码,请在支持 Unicode 的应用程序(例如,Windows 2000 上的"记事本")中保存这些文件。

如果加载的外部文本文件没有按 Unicode 进行编码,则应将 System.useCodepage 设置为 true。在加载数据的 SWF 文件的第一帧中,在最前面添加以下代码(第一行代码):

System.useCodepage = true;

如果有这一行代码,Flash Player 将使用运行 Flash Player 的操作系统的传统代码页来解释外部文本。对于英文 Windows 操作系统,该代码页通常为 CP1252;对于日文操作系统,该代码页通常为 Shift-JIS。如果将 System.useCodepage 设置为 true,则 Flash Player 6 和更高版本处理文本的方式与 Flash Player 5 相同。(Flash Player 5 将所有文本都视为按运行播放器的操作系统的传统代码页编码的文本。)

如果将 System.useCodepage 设置为 true,应注意在运行播放器的操作系统的传统代码页中必须包括您的外部文本文件中使用的字符,这样才能显示文本。例如,如果您加载了一个包含中文字符的外部文本文件,则这些字符不能显示在使用 CP1252 代码页的系统上,因为该代码页不包括中文字符。

若要确保所有平台上的用户都能查看您的 SWF 文件中使用的外部文本文件,应将所有外部文本文件按 Unicode 进行编码,并将 System.useCodepage 设置保留为其默认设置 false。这样,Flash Player 6 和更高版本将按 Unicode 解释文本。

可用性:ActionScript 1.0;Flash Player 6


  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
UIObject.createClassObject()
可用性
Flash Player 6 (6.0.79.0)。

版本
Flash MX 2004。

用法
componentInstance.createClassObject(className, instanceName, depth, initObject)

参数
className 一个对象,指示新实例的类。

instanceName 一个字符串,指示新实例的实例名称。

depth 一个数字,指示新实例的深度。

initObject 一个对象,它包含新实例的初始化属性。

返回
一个 UIObject 对象,它是所指定类的一个实例。

说明
方法;在运行时创建组件的一个实例。在调用此方法之前,使用 import 语句并指定类包名称。此外,该组件必须在 FLA 文件的库中。

示例
以下代码导入 Button 组件的资源,然后创建 Button 组件的一个子对象。

import mx.controls.Button;
createClassObject(Button,"button2",5,{label:"Test Button"});

以下示例创建了一个 CheckBox 对象: 

import mx.controls.CheckBox;
form.createClassObject(CheckBox, "cb", 0, {label:"Check this"});

也可以使用以下语法指定类包名称:

createClassObject(mx.controls.Button, "button2", 5, {label:"Test Button"});


  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
UIScrollBar.setScrollTarget()
可用性
Flash Player 6 (6.0.79.0)。

版本
Flash MX 2004。

用法
scrollBarInstance.setScrollTarget(textInstance)

参数
textInstance 分配给滚动条的文本字段。

说明
方法;将 UIScrollBar 组件分配给一个文本字段实例。如果需要在运行时将文本字段和 UIScrollBar 组件关联起来,请使用此方法。

示例
以下示例创建一个滚动条以便滚动文本字段中的文本,而该字段从网页中加载内容。该示例调用 setScrollTarget() 方法,以使滚动条 my_sb 与文本字段 my_txt 关联起来。

/**
 要求:
 - 库中有 UIScrollBar 组件
*/

this.createTextField("my_txt", 10, 10, 20, 200, 100);
my_txt.wordWrap = true;

this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);

// 设置目标文本字段。
my_sb.setScrollTarget(my_txt);

// 调整其尺寸以匹配文本字段。
my_sb.setSize(16, my_txt._height); 

// 将其移动到文本字段的旁边。
my_sb.move(my_txt._x + my_txt._width, my_txt._y);

// 每次单击滚动箭头时滚动 2 行。
my_sb.lineScrollSize = 2;

// 每次单击滚动轨道时滚动 5 行。
my_sb.pageScrollSize = 5;

// 加载要显示的文本,并定义 onData 处理函数。
var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
 if (src != undefined) {
 my_txt.text = src;
 } else {
 my_txt.text = "Error loading text.";
 }
};
my_lv.load("http://www.helpexamples.com/flash/lorem.txt");


  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
trace 函数
trace(expression:Object)

您可以使用 Flash 调试播放器捕获来自 trace() 函数的输出并显示结果。

在测试 SWF 文件时,使用此语句可在"输出"面板中记录编程注释或显示消息。使用 expression 参数可以检查是否存在某种条件,或在"输出"面板中显示值。trace() 语句类似于 JavaScript 中的 alert 函数。

可以使用"发布设置"对话框中的"省略跟踪动作"命令将 trace() 动作从导出的 SWF 文件中删除。 

可用性:Flash Player 4;ActionScript 1.0

参数
expression:Object - 要计算的表达式。在 Flash 创作工具中打开 SWF 文件时(使用"测试影片"命令),expression 参数的值显示在"输出"面板中。


  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
condenseWhite(TextField.condenseWhite 属性)
public condenseWhite : Boolean

一个布尔值,指定当 HTML 文本字段在浏览器中呈现时是否删除字段中的额外空白(空格、换行符等)。默认值为 false。

如果将此值设置为 true,则必须使用标准 HTML 命令(如 <BR> 和 <P>)将换行符放在文本字段中。

如果文本字段的 .html 为 false,则忽略此属性。

可用性:ActionScript 1.0;Flash Player 6


2025-07-17 08:13:47
广告
  • 啾啾鸣虫
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
text(TextField.text 属性)
public text : String

指示文本字段中的当前文本。行用回车符("\r",即 ASCII 13)分隔。此属性包含文本字段中普通的无格式文本,不包含 HTML 标签,即使该文本字段为 HTML。

可用性:ActionScript 1.0;Flash Player 6

示例
下面的示例创建一个名为 my_txt 的 HTML 文本字段,并将 HTML 格式的文本字符串分配给该字段。当您跟踪 htmlText 属性时,"输出"面板将显示 HTML 格式的字符串。当您跟踪 text 属性的值时,未经过格式化并带有 HTML 标记的字符串将显示在"输出"面板中。 

this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 400, 22);
my_txt.html = true;
my_txt.htmlText = "<B>Lorem ipsum dolor sit amet.</B>";

trace("htmlText: "+my_txt.htmlText);
trace("text: "+my_txt.text);

它生成以下输出:

 htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" KERNING="0">
 <B>Lorem ipsum dolor sit amet.</B></FONT></P>
 text: Lorem ipsum dolor sit amet.


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回奕帆吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示