从Flash到Silverlight进阶教程-用代码来创建动画
从Flash到Silverlight进阶教程
用代码来创建动画
- 新建flash文件
- 在第一帧添加两个按钮起好实例名称
- 导入一张图片,以中心注册为MovieClips,将链接标识符设置为“man”
- 新建立一层命名为“as”,添加如下代码
as2.0版本:
add_btn.onRelease = function() {
var n:Number = _root.getNextHighestDepth();
var tx:Number = 400/2;
var ty:Number = 300/2;
_root.attachMovie("man","man",n);
_root["man"]._x = tx;
_root["man"]._y = ty;
add_btn.enabled = false;
reset_btn.enabled = true;
};
reset_btn.onRelease = function() {
_root["man"].removeMovieClip();
reset_btn.enabled = false;
add_btn.enabled = true;
};
as3.0 版本
import flash.display.MovieClip;
import flash.events.*;
public class Lession01a extends MovieClip
{
private var addbtn;
private var resetbtn;
private var m:Man;
public function Lession01a()
{
addbtn = this.getChildByName("add_btn");
resetbtn = this.getChildByName("reset_btn");
addbtn.addEventListener(MouseEvent.CLICK,onAddbtnClick);
resetbtn.addEventListener(MouseEvent.CLICK,onResetbtnClick);
//trace(addbtn);
resetbtn.enabled = false;
}
public function onAddbtnClick(e:MouseEvent):void {
m = new Man();
m.x=200;
m.y=150;
addChild(m);
addbtn.enabled = false;
resetbtn.enabled = true;
}
public function onResetbtnClick(e:MouseEvent):void {
removeChild(m);
resetbtn.enabled = false;
addbtn.enabled = true;
}
}
}
package
{
import flash.display.MovieClip;
public class Man extends MovieClip
{
public function Man()
{
super();
}
}
}
在flash中你只写了一次代码,而其他的都是在可视的状态下完成的,比如说这个MovieClips,你并没有写一句代码,但是已有很多的你看不到的代码falsh的IDE已经帮你都完成了。你可以在可视的状态下继续修改这个MovieClips。但是你不会看到他的代码。而在Silverlight中所有的的元素包括动画等都是通过XAML来描述的,你始终都能看到他的源代码,这个也可以说是Silverlight和Flash最大的不同。这里你会感觉到Silverlight更像以MXML来描述自身的Flex。
{
private man m;
public Page()
{
InitializeComponent();
Init();
}
private void Init()
{
reset_btn.IsEnabled = false;
add_btn.Click += new RoutedEventHandler(add_btn_Click);
reset_btn.Click += new RoutedEventHandler(reset_btn_Click);
}
void add_btn_Click(object sender, RoutedEventArgs e)
{
m = new man();
m.SetValue(Canvas.TopProperty, (double)150);
m.SetValue(Canvas.LeftProperty, (double)200);
LayoutRoot.Children.Add(m);
add_btn.IsEnabled = false;
reset_btn.IsEnabled = true;
}
void reset_btn_Click(object sender, RoutedEventArgs e)
{
LayoutRoot.Children.Remove(m);
add_btn.IsEnabled = true;
reset_btn.IsEnabled = false;
}
}
剩下请大家自己体会下flash和silverlight开发的不同吧。
代码下载
作者:nasa
出处:nasa.cnblogs.com
联系:nasa_wz@hotmail.com
QQ:12446006
转载请保留本博客链接
从Flash到Silverlight进阶教程-用代码来创建动画相关推荐
- appinventor HTML5,App Inventor编程教程-第18课-创建动画应用
本章将讨论另一类应用--包含简单动画(会移动的物体)的应用.你将学习用App Inventor创建二维游戏的基本知识,包括熟练使用精灵组件,以及处理像两个物体碰撞这样的事件. 当在电脑屏幕上看到一个平 ...
- STM32 进阶教程 14 - 程序加密之FLASH读写保护
前言 在嵌入式应用开发中,应用开发完成后往往需要对芯片中的程序进行加密处理,用以保护程序安全(不至被竞争对手从芯片把程序固件考走),本节将给大学介绍一个如何实现程序自动给芯片加密功能.学完本节内容,你 ...
- STM32 进阶教程 13 – FLASH的读写操作
前言 在嵌入式应用开发中,经常会遇到掉电后还要保存的信息,这些信息通常只能保存在外部的一些存储芯片中,如外部flash,外部EEPROM, 其实这些信息同样可以保存在STM32自带的内部flash中, ...
- STM32 进阶教程 11 - RAM中运行程序
前言 上一讲我们讲到stm32可以将代码直接下载到RAM中时行程序调试,同时可以有效避开STM32 Flash 擦写次数有限问题,其实除了仿真调试时将程序设置在RAM中可以解决FLASH擦写次数问题外 ...
- STM32 进阶教程 10 - RAM中调试程序
前言 在stm32开发过程中,程序调试是一个比较耗时且又重要的问题,特别是在固件代码达到一定的复杂度后,程序下载过程就一个比较耗时过程,同时STM32芯片有FLASH烧写次数有限,像103系列手册中标 ...
- NAS群晖DSM 进阶教程 篇三:DSM 4458 升级 DSM 4493 update7
WOW唤醒NAS手机APP: Windows Phone 8.1测试可用"Wake my PC"的详细信息 http://www.windowsphone.com/s?app ...
- NSIS进阶教程(一)~(五)
这问是在学NSIS的时候发现的,一篇绝顶好文,当时没转过来,现在美化完程序了,想着不美化安装包也太不厚道了点...所以... NSIS进阶教程(一) 来自: http://www.pylife.net ...
- Silverlight实例教程 - Validation数据验证开篇
Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...
- JSP WEB开发入门基础到高手进阶教程002
JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...
最新文章
- 如何优雅的处理 Java 异常,可以参考这些建议
- 图灵5周年系列活动之科普大爆炸(免费!)
- 同事反馈环:为什么度量和会议还不够充分
- Ajax原理以及优缺点
- 一个简单的c++/cli中委托与事件的处理模型
- 【小白学PyTorch】 2.浅谈训练集验证集和测试集
- Couchbase应用示例(初探)
- [翻译] ASP.NET Core 3.0 的新增功能
- bzoj3482,jzoj3238-超时空旅行hiperprostor【最短路,凸包,斜率优化】
- 云计算时代企业内部IT人员的新定位
- Solr Facet技术的应用与研究
- 分享一下把pdftk的合并pdf功能添加到TC(Totalcommander)
- 涨姿势了!delete后加 limit是个好习惯么?
- J2EE MVC模式框架中,表单数据绑定功能不安全实现在Tomcat下造成的DoS及RCE
- String s = new String(“abc“)创建了几个对象
- element ui的el-option需要默认
- Linux内核配置之Kconfig
- 微分方程Gear方法MATLAB,matlab求解常微分方程(组)
- 函数重载与参数缺省值共用可能引起两意性
- HDU 6441 Find Integer