FLASH与ASP通信入门教程——做真正属于自己的留言本第1/5页

经常有人问我FLASH留言板的制作方法,无奈这东西一句两句没办法说清楚,于是就萌发了写教程的想法。可后来又一想,授人以鱼,不如授人以渔,还不如集中精力好好讲将FLASH与ASP的通讯原理,原理通了,具体项目就可以自由发挥了。

我这个教程面向初级群体,在开始教程之前,我假设你已经具备FLASH操作基础知识,了解IIS配置以及运行环境。尽管FLASH与ASP通信方式有很多,但这篇教程中我选择使用LoadVars类,一因为LoadVars类容易掌握,易于讲解;二是因为它不牵扯太多其他方面的知识。另外,我在ASP中采用的是JS脚本,因为JS脚本跟AS非常像,只要你有一定的AS基础,JS不用学就可以基本看懂了。最后是FLASH版本,我选择flash pro 8.0简体中文版,swf发布为AS2.0,flashplayer8.0。

在看我的教程之前,建议先抽出几分钟阅读一下“FLASH基础开发习惯”,这样更有利于理解我的代码。

目录

  • LoadVars类基础讲解(LoadVars类以下简称LV)
  • ASP中基本的输入输出
  • LV与ASP通讯原理
  • ASP操作数据库入门
  • LV与ASP综合运用
  • 其它通讯方式原理浅谈

    这里我主要围绕我的教程进行讲解,区别有些全盘灌输的教程,我将有真对性的着重讲此类的两个方法和一个事件:load、loadAndSend方法,和onLoad事件。如果你需要更详细的了解LV类,建议你查一下帮助:帮助→flash帮助→全部书籍→ActionScript 2.0 语言参考→ActionScript 类→LoadVars。当然你也可以直接搜索LoadVars。

    LV与TXT通讯
    不是要讲ASP吗?怎么讲起TXT了?呵呵,先别急,其实LV跟ASP通讯原理与跟TXT通讯原理是一样的。TXT大家经常用,讲起来比较容易理解。
    LV跟TXT通讯需要在TXT中采用“变量”/“值”配对的数据模式。比如:wenben=我要做FLASH留言本。这里“wenben”就是变量,“我要做FLASH留言本”就是值,而“=”就是它们的配对方式,也就是建立联系的方式。 好了,现在我们建立一个“lv_shiyan.txt”文本文件,并在其中输入:neirong_txt=我要做FLASH留言本。然后在同文件夹下再建立一个“lv_shiyan.fla”,在第一贞写代码:

    //设置编码,不然会显示乱码
    System.useCodepage = true;
    //实例化一个LV对象
    var shiyan_lv = new LoadVars();
    //载入外部文本
    shiyan_lv.load("lv_shiyan.txt");
    //载入成功后
    shiyan_lv.onLoad = function(chenggong) {
    if (chenggong) {
        //获取外部文本内容
        var neirong = shiyan_lv.neirong_txt;
        //输出文本内容
        trace("您载入的文本内容是:"+neirong);
    }else{
        //加载失败给予提示
        trace("加载失败");
      }
    };

    运行上面的代码,你会在输出面板中看到“您载入的文本内容是:我要做FLASH留言本”,由此可见,外部“lv_shiyan.txt”中的内容已经成功加载。有兴趣的朋友可以改动一下TXT文件名,试验一下加载失败的情况。

    通过上面的代码,我们学到以下知识
    1,如何实例化一个LV对象(使用new关键字)
    2,如何用LV对象加载外部文本文件(使用load方法)
    3,如何判断外部文本文件是否加载成功(使用onLoad事件)
    4,当外部文本文件加载成功后,如何获取并利用其内容。
    在外部文本文件中,我们之所以使用“变量/值”配对的数据格式,正是为了被LV对象利用,当外部文本文件加载成功后,其中的变量就会被LV对象记录,而在AS中通过LV对象引用外部变量的方式则为:LV对象.外部文本文件中的变量名字。上面的代码中即为:shiyan_lv.neirong_txt。

    上面的例子中讲了LV与TXT通讯的基本原理,现在我们来扩展一下,如果我们想在一个外部TXT中使用多个变量如何做呢?答案其实很简单,我们只需在TXT中使用多个“变量/值”对,并把每个“变量/值”对用“&”进行分隔。我们依然利用上面示例的“lv_shiyan.txt”文件,这次把里面的内容换成下面的形式:
    neirong1_txt=战胜LoadVar类!&neirong2_txt=战胜ASP!&neirong3_txt=我能做FLASH留言板了!
    然后再把“lv_shiyan.fla”中的代码换成下面的内容:

    System.useCodepage = true;
    var shiyan_lv = new LoadVars();
    shiyan_lv.load("lv_shiyan.txt");
    shiyan_lv.onLoad = function(chenggong) {
    if (chenggong) {
        //获取外部文本内容
        var neirong1 = shiyan_lv.neirong1_txt;
        var neirong2 = shiyan_lv.neirong2_txt;
        var neirong3 = shiyan_lv.neirong3_txt;
        //输出文本内容
        trace("您载入的文本内容是:"+neirong1+"/"+neirong2+"/"+neirong3);
    }else{
        trace("加载失败");
      }
    };

    运行上面的代码,在输出窗口我们可以看到“战胜LoadVar类!/战胜ASP!/我能做FLASH留言板了!”,说明我们获得了外部TXT中全部的变量内容。

    有兴趣的朋友可以把“lv_shiyan.txt”中的内容改成下面的形式看输出结果有没有变化:

    &neirong1_txt=战胜LoadVar类!
    &neirong2_txt=战胜ASP!
    &neirong3_txt=我能做FLASH留言板了!
    然后再改成下面的结果再试验一下输出结果:)
    &neirong1_txt=战胜LoadVar类!&
    &neirong2_txt=战胜ASP!&
    &neirong3_txt=我能做FLASH留言板了!&
    原因其实很简单,自己思考一下拉:)

    呼呼,好了,LV类先讲到这里了,下面讲讲ASP的基本格式和语法,尤其是输入输出语句。

    当前1/5页 12345下一页阅读全文

(0)

相关推荐

  • ThinkPHP之用户注册登录留言完整实例

    本文以实例形式讲述ThinkPHP实现的包括用户的注册.登录以及留言等功能,这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现.   UserActiion.class.php页面: <?php class UserAction extends Action{ public function add(){ $user = D("user"); $user->create(); $result = $user->add(); if($re

  • Smarty结合Ajax实现无刷新留言本实例

    看了标题你也许要说,留言本,很基本的东东啊!谁不会啊,还要用Smarty,这不找累吗?别急,我要表达的是一种编程的思想和结构,而不是证明我做的东西多有意义,通过它相信对初学者学习Smarty和ajax有些启发.原本用ajax做的,可惜始终调试不成功,只好用手写JS来弄了,不过不要紧,还是有一定价值的.站点结构大家下了源代码自己看,代码不长,应该不会看烦^_^,听我慢慢道来.     现在都PHP5了OO(面向对象)很流行了都,这里也不错过,首先来看下我们用OO来实现数据库操作和连接:[php]<

  • 一个简单的PHP&MYSQL留言板源码第1/2页

    初学PHP,花了几晚上写了个留言板,请高手指正 p.s.我的空间不支持PHP,不能提供演示了T_T 数据库结构:(库名:lyb) 表一: admin 字段: id(int11)   name(varchvr)   password(varchvr) 表二: lo 字段: id(int11)   username(varchvr)  sex(varchvr)  qq(varchvr)  email(varchvr)  info(text)  ip(varchvr)  submit_time(dat

  • HTML5实现留言和回复页面样式

    具体就不做详细讲解了,直接上代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.webkfa.com/" /> <title>web开发-webkfa.com</title> <style type="tex

  • 超级简单的php+mysql留言本源码

    共3个文件 IncDB.php数据库连接 index.php首页 InsetToDB.php数据库操作 数据库lguestbook里面建表 复制代码 代码如下: CREATE TABLE `intd` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) character set utf8 collate utf8_bin NOT NULL, `text` text character set utf8 collate utf8

  • 简单的PHP留言本实例代码

    config.php 复制代码 代码如下: <?php $conn = @mysql_connect("localhost","root","") or die("数据库连接出错!"); mysql_select_db("gb",$conn); mysql_query("set names 'GBK'"); ?> add.php 复制代码 代码如下: <?php inc

  • php简单的留言板与回复功能具体实现

    在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个PHP程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图 下面我们就来继续一下介绍 id                        这个算是父Id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id son_id                    这个是子id 然后通过这个id 可以找到相对应的父id   news_id                  

  • 来自经典的打造简单的PHP&MYSQL留言板第1/4页

    表一: admin 字段: id(int11)   name(varchvr)   password(varchvr) 表二: lo 字段: id(int11)   username(varchvr)  sex(varchvr)  qq(varchvr)  email(varchvr)  info(text)  ip(varchvr)  submit_time(datetime) 1.conn.php(连接数据库文件) 复制代码 代码如下: <?php  mysql_connect("lo

  • 基于Kubernetes和Docke实现留言簿案例

    一.介绍 本案例基于Kubernetes和Docker,其中包括 1.web前端 2.redis master 3.redis slave 其中web前端通过javascript redis api和redis master交互 kubernetes体系架构 二.配置 0.先决条件 Kubernetes 集群 1.启动redis master 使用replication controller确保只有一个pod在运行(当某个节点down了,rc会在另一个健康的node启动redis master)

  • php开发留言板的CRUD(增,删,改,查)操作

    项目结构: 添加页面:                                说明:这里只注重操作,对界面的美工没有下工夫,希望大家理解...... 列表页面: 修改页面: 项目中所需的sql: 复制代码 代码如下: create database form; use form; CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `title` va

随机推荐