- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C开发WPFSilverlight动画及游戏系列教程(GameTutorial)(十五)精灵控件横空出世②,wpf和silverlight,silverlight与wpf,wpf移植到silverlight,silverlight控件,silverlight时间控件,silverlight控件下载,silverlight缩放控件,silverlight用户控件,wpfmvvmlight
??? 紧接着上一节,我们打开QXSpirit.xaml.cs文件。在游戏设计中,为了能够轻易控制及管理精灵的各项属性及功能等,我赋予每个精灵一个生命钟,它在精灵的使用中起到关键作用:
public QXSpirit() {
InitializeComponent();
InitThread(); //初始化精灵线程
}
DispatcherTimer Timer = new DispatcherTimer();
private void InitThread() {
Timer.Tick += new EventHandler(Timer_Tick);
Timer.Start();
}
//精灵线程间隔事件
int count = 0;
private void Timer_Tick(object sender, EventArgs e) {
Body.Source = new BitmapImage((new Uri(ImageAddress + count + .png, UriKind.Relative)));
count = count == 7 ? 0 : count + 1;
}
??? DispatcherTimer类似于Thread中的Join,它并未创建一个新的线程,但是为了更形象的描述它,后面的章节中我均称呼它为“生命线程”。那为何要在精灵控件中配置一个“生命线程”呢?打这样一个比方吧:我们可以把精灵比做一个人,它的生命就好比这个线程,每个人只有一条命, 在精子与卵子结合之后(控件的初始化中创建),生命即开始鲜活(创建后即启动)简单说就是“命悬一线”啦。汗一个…。目前该线程与前面章节中的一样,暂时只做精灵动作图片切换用(Timer_Tick()),至于其他功能,我将在后面的章节中进行讲解。
??? 赋予了精灵生命以后,接着需要培养它的性格,让它拥有更多的能力、更多的属性。当然,大家首先迫切想要实现的就是前两节遗留下来关于精灵的X,Y属性。那么先来看代码:
//精灵X坐标(关联属性)
public double X {
get { return (double)GetValue(XProperty); }
set { SetValue(XProperty, value); }
}
public static readonly DependencyProperty XProperty = DependencyProperty.Register(
X, //属性名
typeof(double), //属性类型
typeof(QXSpirit), //属性主人类型
new FrameworkPropertyMetadata(
(double)0, //初始值0
FrameworkPropertyMetadataOptions.None, //不特定界面修改
//不需要属性改变回调
null,//new PropertyChangedCallback(QXSpiritInvalidated),
//不使用强制回调
null
)
);
//精灵Y坐标(关联属性)
public double Y {
get { return (double)GetValue(YProperty); }
set { SetValue(YProperty, value); }
}
public static readonly DependencyProperty YProperty = DependencyProperty.Register(
Y,
typeof(double),
typeof(QXSpirit),
您可能关注的文档
- ((新人教版))初二数学试题八年级数学下《分式》单元检测习题.doc
- (人教新起点)一年级英语句型测试.doc
- (拷贝技能)心理咨询师咨询技能考试重点难点归纳.doc
- (标线、标志、交通信号灯)工程施工组织设计_secret.doc
- +不得不看的饮水小常识.doc
- Abaqus焊接模拟的例子.doc
- (韩亚明袁加华)浅谈江苏建筑工程中PHC管桩的施工质量控制(科技资讯).doc
- AA考本科口译与听力考试听力重点篇章.doc
- abaqus计算回弹的方法.doc
- ABB焊接机器人工作站故障的分析和维修.doc
- ASX_Series_操作说明书手册.pdf
- Battery-Backup-Kit-Installation-操作说明书手册.pdf
- DCB-05-V2-操作说明书手册.pdf
- DEIMOS-Installation-操作说明书手册.pdf
- Axess-Pro-Series-2120-Roller-Shutter-Pendant-操作说明书手册.pdf
- Controll-A-Door-P-Diamond-操作说明书手册.pdf
- Controll-A-Door-PD-Power-Drive-操作说明书手册.pdf
- Controll-A-Door-Secure-SDO-6-操作说明书手册.pdf
- AMX_Series_操作说明书手册.pdf
- ELI-250-Installation-操作说明书手册.pdf
最近下载
- 中华人民共和国机械行业标准燃煤热风炉技术条件.PDF
- 武汉市光谷为明实验学校新初一分班语文试卷含答案.pdf VIP
- 浙江大学紫金港校区校园平面图.PDF VIP
- 中级车号员(长)试题及答案.pdf VIP
- 铁路车号员(长):中级车号员(长)测试题.docx VIP
- 铁路车号员(长)中级车号员(长)试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)车号员一体化考试试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)铁路车号员(长)综合练习试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)铁路车号员(长)综合练习试卷.doc VIP
- 初中数学高质量作业设计策略与实践.pptx
文档评论(0)