xflash基础语法

使用方法
=========================================================
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    //put your code here
</xmp>
===================================================================
    只要包含xflash.js文件就可以使用xflash机制来开发程序,如果你想把解析程序放到自已的网站上,或者放到本地iis服务器上便于调试,也可以把xflash.js和xflash.swf两个文件拷贝下来放到本机的同一个目录下,然后引用就可以了。
实事求是,从头开始

在xflash中使用的各种元素,都由xml来表现,称之为xfml。xfml具备和html相似的功能,事件处理方式也一样,只是会简洁很多,还提供很多实用的属性,方便界面布局。

box - 盒元素
    box元素是xflash界面结构的基础,具有很强大的表现能力,而且也只有box元素可以包含其他元素或者另外的box,可见其意义之重要。与html中的div或者flash中的mc相比,box集成了很多常用的功能,使界面开发变得很容易。
    pos是位置属性,其格式是:“x,y,width,height”,以逗号分隔各个参数,这点比较容易理解,让pos定位变得容易操作的因素是加入了关键字。x座标上的关键字是c和r,即居中和居右;y座标上的关键字是m和b,即居中(垂直)和居下;width和height都只有一个关键字f,即100%充满。pos支持计算表达式,但是表达式中不能有括号。使用关键字之后,box的位置和大小将自动随着场景的变化而变化,而不需要另外使用定位代码,下面是几个简单的定位的例子。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="0,0,100,100" bg="#0d8910" bd="#black"/>
    <box pos="c,m,100,100" bg="#0d8910" bd="#black"/>
    <box pos="r,b,100,100" bg="#0d8910" bd="#black"/>
    <box pos="0,b,f/2,100" bg="#0d8910" bd="#black"/></xmp>
</xmp>

bg属性表示box的背景,以符号“#”为区分,使用了“#”为前缀的,用颜色填充,否则就用图片填充。颜色与html中的一样,用十六进制来表示,有一些颜色可用英文定义。背景图片填充需要用loadFile函数先行载入,如果是远程图片,由于有跨域访问的限制,不能作为背景平铺,只能一次使用,其判断标准是看url的最前面是否是“http://”。另外,还提供了多图背景,有3张和9张两种格式。三张图片作为背景,左右两张不变,中间平铺的方式,以此为基础,也提供了9张图片作为背景的常用方式,格式是bg参数中有“_*”字样,这样就会分别会替换成"_l"、"_c"、"_r",取出三张图片来组合,9张图片则是“_*_*”字样。下面是bg的一些应用实例。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="0,0,100,100" bg="#0d8910"/>
    <box pos="200,200,286,110" bg="http://www.google.cn/intl/zh-CN/images/logo_cn.gif"/>
</xmp>

◇ 多图背景实例 
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <preload>
        <file url="photo/box_x.png">dlg_*_*.png:0,0,170,95,60,60,22,9;bar_*.png:0,105,170,34,9,9</file>
    </preload>
    <box pos="c-120,m-80,120,34" bg="bar_*.png"><label align="center" pos="c,m,60,20">我短</label></box>
    <box pos="c-120,m+80,180,34" bg="bar_*.png"><label align="center" pos="c,m,60,20">我长</label></box>
    <box pos="c+120,m-120,120,120" bg="dlg_*_*.png"><label align="center" pos="c,m,60,20">我小</label></box>
    <box pos="c+120,m+120,220,220" bg="dlg_*_*.png"><label align="center" pos="c,m,60,20">我大</label></box>
</xmp>

bd属性表示box的边框,只能使用颜色表示,这比较好理解。如果加入bd2属性,则可以让左上边框是一种颜色,而右下边框是另一种颜色,下面是一经典的windows凸出面板的模拟实例。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="c,m,300,200" bg="#d4d0c8" bd="#d4d0c8" bd2="#404040">
        <box pos="1,1,f-2,f-2" bd="#white" bd2="#808080"/>
    </box>
</xmp>

拖动box很简单,只需提供drag属性就可以了。drag的值有三个,parent、this和edit,parent就是拖动父元素,this是拖动自已,edit是为开发时定位准备的,拖动结束后会把座标拷贝到剪贴板上,到编辑器里ctrl+v就行了。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="50,50,300,200" drag="this" bg="#d4d0c8" bd="#808080"/>
</xmp>

我们还可以让box具有事件响应能力,目前提供的事件有onmouseover,onmouseout,onmousedown,onmouseout等4个。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="50,50,300,200" onmouseup="alert(this)" bg="#d4d0c8" bd="#808080"/>
</xmp>
 button - 按钮
    xflash中的按钮分两种,即普通按钮和纯图片按钮。普通按钮只需要输入文字就可以了,不用指定背景;纯图片按钮需要准备三态图片,对应鼠标事件的三种状态,在生成场景时应该已经先期载入。
    按钮事件使用onclick方法,onclick里执行的是xf中的方法,比如alert(),即是xf.alert(),这个方法已经由系统定义好了。用户可以执行自已的方法,如"onload1()",那么在程序中需要加入xf.onload1=function(){/*code*/},就可以实现点击调用。
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <preload><file url="photo/button_a.png"/></preload>
    <button onclick="alert('我是普通按钮')" pos="c,m-20,60,21">普通按钮</button>
    <button onclick="alert('我是纯图片按钮')" pos="c,m+20,53,17" bg="button_a.png"/>
</xmp>

对于一个应用程序来说,普通按钮数量上比较多,而且只有一种样式,默认的普通按钮样式是仿windows的,那么如何自定义普通按钮呢?首先要准备一张三态图片,进行preload时进行虚拟切割为button_*.png,这样按钮样式就会自动变化了。     ◇ 自定义的普通按钮 - >> 运行下面的js 
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <preload><file url="photo/button_x.png">button_*.png:0,0,58,63,9,9</file></preload>
    <button onclick="alert('我是自定义的普通按钮')" pos="c,m-20,90,21">普通按钮</button>
</xmp>
label - 标签

label标签中的文字只能是一行,而且会自动垂直居中,除了字体相关属性可以定义之外,还可以定义边距和水平对齐方式,下面是label属性的相关说明。

font:字体类型,目前flash只支持英文字体,对于中文字体无效
size:字体大小,以像素为单位
color:字体颜色
bold:值为1时是粗体
html:是否为html格式
align:水平对齐方式,有center和right两个值
padding:水平方向两端边距
padding1:水平方向左端边距
padding2:水平方向右端边距
◇ 标签实例 - >> 运行下面的js 
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <label pos="c,m-20,120,21" bd="#black">普通标签</label>
    <label pos="c,m+20,180,30" bd="#black" font="黑体" size="16" color="#9b0000" bold="1" padding1="12">加了样式的标签</label>
</xmp>
input - 输入框 
input和label很相似,可看作是可编辑的label。

font:字体类型,目前flash只支持英文字体,对于中文字体无效
size:字体大小,以像素为单位
color:字体颜色
bold:值为1时是粗体
html:是否为html格式
align:水平对齐方式,有center和right两个值
padding:水平方向两端边距
padding1:水平方向左端边距
padding2:水平方向右端边距
password:值为1时是密码输入框

<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <box pos="c,m,200,200">
        <label pos="20,20,50,20">用户名:</label>
        <input pos="75,20,120,21" bd="#black"></input>
        <label pos="20,50,50,20">密 码:</label>
        <input pos="75,50,120,21" bd="#black" password="1"></input>
    </box>
 textarea - 文本区域

textarea是多行的文本域,可用于输入,也可用于显示。
font:字体类型,目前flash只支持英文字体,对于中文字体无效
size:字体大小,以像素为单位
color:字体颜色
bold:值为1时是粗体
html:是否为html格式
align:水平对齐方式,有center和right两个值
padding:水平方向两端边距
padding1:水平方向左端边距
padding2:水平方向右端边距
padding3:垂直方向上端边距
padding4:垂直方向下端边距
readOnly:值为1时不可编辑
selectable:值为1时可选择,对于可编辑的textarea该属性无意义
movie - 动画元素

flash不支持gif格式的动画,需要把所有画面都集成在一张图上,movie元素读入之后,会逐桢显示播放,实现动画的效果。
    src属性指定动画引用的图片路径,delay表示每桢播放后停留的毫秒数,默认为100。
◇ 动画演示 - >> 运行下面的js 
<script src=/xflash/xflash.js></script>
<xmp type="xfml">
    <preload><file url="photo/loading.jpg"/></preload>
    <box pos="c,m-100,104,60" bg="loading.jpg"/><movie pos="c,m,104,12" delay="50" src="loading.jpg"/>
</xmp>
</script>

(0)

相关推荐

  • xflash基础语法

    使用方法 ========================================================= <script src=/xflash/xflash.js></script> <xmp type="xfml">     //put your code here </xmp> ===================================================================

  • 又一款MVVM组件 Vue基础语法和常用指令(1)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue也确实挺火,各种入门博文眼花缭乱,博主也不敢说写得多好,就当是个学习笔记,有兴趣的可以看看. 一.MVVM大比拼 关于MVVM,原来在介绍knockout.js的时候有过讲解,目前市面上比较火的MVVM框架也是一抓一大把,比如常见的有Knockout.js.Vue.js.React.Angularj

  • JavaScript高级程序设计(第3版)学习笔记2 js基础语法

    这一篇复习一下ECMAScript规范中的基础语法,英文好的朋友可以直接阅读官方文档.JavaScript本质上也是一种类C语言,熟悉C语言的朋友,可以非常轻松的阅读这篇文章,甚至都可以跳过,不过建议你最好还是看一看,在介绍的同时,我可能会引用一些自认为不易理解且比较流行的用法. 基础语法 1.标识符:所谓标识符,实际上就是指一个满足一定规范,能够被引擎识别的名字,可以用来表示常量.变量.函数名.函数参数.对象.对象属性等所有可命名对象的名称. (1)区分大小写. (2)以字母.下划线(_)或美

  • vue.js入门教程之基础语法小结

    前言 Vue.js是一个数据驱动的web界面库.Vue.js只聚焦于视图层,可以很容易的和其他库整合.代码压缩后只有24kb. 以下代码是Vue.js最简单的例子, 当 input 中的内容变化时,p 节点的内容会跟着变化. <!-- html --> <div id="demo"> <p>{{message}}</p> <input v-model="message"> </div> new

  • Javascript基础知识(一)核心基础语法与事件模型

    一.Javascript核心基础语法 1.Javascript是一门增加交互效果的编程语言,它最初由网景公司发明,最后提交给ECMA(欧洲计算机制造商协会),ECMA将Javascript标准化,其命名为Javascript. 2.Javascript是一门解释性语言,无需编译就可以直接在浏览器下运行. 3.Javascript的用途? 1.可以控制网页中所有元素,增加.删除.修改元素的属性. 2.可以在html中放入动态文本. 3.响应用户在使用网页时产生的事件. 4.校验用户输入的数据. 5

  • 基于JS脚本语言的基础语法详解

    JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法: 1.所有的字符全都是英文半角的: 2.大部分情况下每条语句结束后要加分号: 3.每一块代码结束后加换行:4.程序前呼

  • JavaScript基础语法之js表达式

    本文将详细介绍javascript表达式,表达式分为原始表达式和复杂表达式.一般,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression). 原始表达式(primary exression) 原始表达式是表达式的最小单位--它不再包含其他表达式.javascript中的原始表达式包括this关键字.标识符引用.字面量引用.数组初始化.对象初始化和分组表达式 PrimaryExpres

  • javascript基础语法——全面理解变量和标识符

    关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript的基本特性.实际上,变量是标识符的一种.本文将详细介绍变量和标识符 定义 标识符(Identifier)就是一个名字,用来对变量.函数.属性.参数进行命名,或者用做某些循环语句中的跳转位置的标记 //变量 var Identifier = 123; //属性 (new Object).Identifier = 'test'; //函数及参数 function IdentifierName(Identifie

  • java 学习笔记(入门篇)_java的基础语法

    前言 学习完了第一个java程序,之后就来系统的学习java.先从基础语法开始,这个语法你也可以理解为英语或是汉语里面的语法,只不过大家各有各的特点和区别.学习编程其实也是一个编程语言的学习过程.我们在学习英语的时候都说,要想学习好英语一定要动口说,那么在学习编程的时候你一定要动手写.编程无非就是一个写代码的过程,首要就是你心中要有基础,没有基础怎么去写呢,就像一篇好文章,没有好文笔是写不出来的.好文笔不仅靠积累,更要靠创造,编程亦是如此.java是一个面向对象的语言,在写代码的过程中,接触最多

  • Python学习笔记(二)基础语法

    学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易.本文的主要内容是Python基础语法,学完后,能熟练使用就好.(开发环境依然是Python2.7,简单使用)一,基本知识1,不需要预先定义数据类型(此说法值得商榷,姑且这么说吧),这是与其他语言的最大不同(如C,C++,C#,Delphi等) 复制代码 代码如下: >>> x=12 >>> y=13 >>> z=x+y >>> print z 25 注意:尽管变量不

随机推荐