每天学点Silverlight&Flash1——XMl *** 作

每天学点Silverlight&Flash1——XMl *** 作,第1张

概述最近在学习Flash,准备每天都花点时间去用Silverlight和Flash去实现些相同的功能。 我之前有学过半年的Silverlight,因为完全可以用C#来写,最多学习了半年的Silverlight,比较扯得是项目里竟然用flash,我发现还是得懂点flash。。 在园子里看到夏天的树每天学点flash系列不错,我就试着学习他每天学点。有些功能都是和他的一样,但是代码我完全都是我写的。 1.

最近在学习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 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1030397.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存