
最近在学习Flash,准备每天都花点时间去用Silverlight和Flash去实现些相同的功能。
我之前有学过半年的Silverlight,因为完全可以用C#来写,最多学习了半年的Silverlight,比较扯得是项目里竟然用flash,我发现还是得懂点flash。。
在园子里看到夏天的树每天学点flash系列不错,我就试着学习他每天学点。有些功能都是和他的一样,但是代码我完全都是我写的。
1.简单加密功能实现:
通过获取当前的天来判断是否等于某个数,不同的情况我们让程序显示不同的内容。
a.使用Flash实现:
i. 创建一个Flash文件:
使用ActionScript3.0。
ii.在默认的那一帧中添加一个文本如下图:
iii.插入一个新的关键帧,并把它的文字设置为"对不起,系统已经过期"如下图:
并保存文件为"Encryption.fla"。
iv.新建一个as文件,并保存为Encryption.as:
需要注意的是:Encryption.as和Encryption.fla必须保存在同一目录下。
as文件的代码:
代码package
{
import flash.events.MouseEvent;
import flash.system.ApplicationDomain;
import flash.events.Event;
import flash.display.MovIEClip;
public class document extends MovIEClip{
public function document(){
this .addEventListener(Event.ADDED_TO_STAGE,on_added_to_stage);
}
private function on_added_to_stage(e:Event): voID {
// the MovIEClip stoped at the first frame
stop();
// get the datetime
var myday:Date = new Date();
var mydate:Number = myday.getDate();
// trace(mydate); ----- 12
if (mydate == 12 )
{
this .gotoAndStop( 2 );
}
}
}
}
最后一步是要把这个as文件绑定到fla文件。
b.使用SIlverlight实现:
i.创建一个Silverlight应用程序,如下图:
ii.xaml文件内容:
代码
1 < UserControl x:Class ="Encryption.MainPage"
2 xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:d ="http://schemas.microsoft.com/Expression/blend/2008"
5 xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006"
6 WIDth ="550" Height ="400" >
7
8 < GrID x:name ="LayoutRoot" Background ="#FF9865" >
9 < TextBlock Height ="23" HorizontalAlignment ="left" margin ="190,176,0" name ="tblk1" Text ="欢迎你使用这个系统" VerticalAlignment ="top" WIDth ="177" FontSize ="13" FontFamily ="Comic Sans MS" Foreground ="#FF0000" />
10 </ GrID >
11 </ UserControl >
iii.cs文件的内容:
@H_597_403@
比较:Silverlight程序耗时:5分钟; Flash程序耗时:10分钟。(只是我个人的使用时间,我是个actionscript新手)
--------------------------------------------------------------------------------------------------------------------------------------
2.读取XML文件:
功能描述:读取一个XML文件的内容,并让它显示在一个界面。
XML文件的内容:
<? xml version="1.0" enCoding="utf-8" ?>
< galLERY >
< IMAGE Title ="Nicholas" > image1.jpg </ IMAGE >
</ galLERY >
a.使用Flash实现:
i.创建一个Actionscript文件也就是as文件起名为"readxml.as":
具体的创建方法上面例子里有说明。
as文件中需要使用ActionScript实现的功能:加载xml文件,并让它的节点内容显示在第一帧。代码:
package
{
import flash.system.System;
import flash.system.ApplicationDomain;
import flash.events.Event;
import flash.display.MovIEClip;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextFIEld;
public class readxml extends MovIEClip{
public function readxml(){
this .addEventListener(Event.ADDED_TO_STAGE,on_added_to_stage);
}
private function on_added_to_stage(e:Event): voID {
var myLoader:URLLoader = new URLLoader();
myLoader.load( new URLRequest( " Nicholas.xml " ));
myLoader.addEventListener(Event.COMPLETE,processXML);
}
private function processXML(e:Event): voID {
var myXML:XML;
var myText:TextFIEld = new TextFIEld();
var myArray:Array = new Array();
myXML = new XML(e.target.data);
// push each Title to the array
for ( var i: int = 0 ; i < myXML. * .length(); i ++ ){
trace( " My image number is " + (i + 1 ) + " ,it's Title is " + myXML.IMAGE[i].@Title + " and it's URL is " + myXML.IMAGE[i]);
myArray.push(myXML.IMAGE[i].@Title);
}
// trace(myXML.IMAGE.@Title);
myText.text = myXML.IMAGE.@Title;
addChild(myText);
myText.x = 220 ;
myText.y = 200 ;
myText.textcolor = 0xFF00000 ;
myText.thickness = 5 ;
}
}
}
ii.创建一个fla文件,最好和readxml.cs文件在同一目录下,并这个flash文件添加后台代码:
iii.运行程序。
b.使用Silverlight实现:
i.创建一个SIlverlight应用程序;
方法在上面那个例子里有说明。
ii.把上面那个XML文件添加到项目中:
iii.在xaml中需要添加一个控件Canvas:
< UserControl x:Class ="XMLReader.MainPage"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d ="http://schemas.microsoft.com/Expression/blend/2008"
xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006"
WIDth ="550" Height ="400" >
< GrID x:name ="LayoutRoot" Background ="#FF9865" >
< Canvas x:name ="canvas" WIDth ="550" Height ="400" ></ Canvas >
</ GrID >
</ UserControl >
iv.使用linqtoxml读取xml节点,并把内容通过一个textblock显示在前台。
public MainPage()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainPage_Loaded);
}
voID MainPage_Loaded( object sender,EventArgs e)
{
var images = from img in XElement.Load( " Nicholas.xml " ).Elements( " IMAGE " )
select img;
TextBlock block = new TextBlock();
block.SetValue(Canvas.topProperty, 200.0 );
block.SetValue(Canvas.leftProperty, 220.0 );
block.Text = "" ;
foreach (var image in images)
{
block.Text += image.FirstAttribute.Value;
}
canvas.Children.Add(block);
}
}
对比:Silverlight耗时5分钟,Flash耗时15分钟(包括查找资料和类的使用学习)
总结以上是内存溢出为你收集整理的每天学点Silverlight&Flash1——XMl *** 作全部内容,希望文章能够帮你解决每天学点Silverlight&Flash1——XMl *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)