自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

许耀驰的博客

人一生最重要的,是要学会坚持不懈!

  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 开发日记20140924,菜单消息WM_MENUSELECT和Com的引用计数

当指针在某个菜单项上抖动时,会bu

2014-09-25 00:00:50 1900

原创 开发日记,_WinMain@16无法解析的外部符号

精简用Win32向导生成的程序代码结构的时候,

2014-09-02 22:15:38 1606

转载 内存管理机制(详细介绍)

http://blog.csdn.net/lixam/article/details/8840508

2014-08-18 23:08:41 881

原创 Gdiplus的坑:通过DrawImage进行放大不是很靠谱

由于DrawImage指定destRect和srcRect绘制后,

2014-08-15 22:57:18 6757 1

转载 SYSTEM权限引发的系列问题

http://www.programlife.net/windows-system-privilege.html最近被这个问题给折腾了一把,bude

2014-08-12 21:10:11 1790

原创 LongListSelector的Item里使用Image加载网络图片必须注意的问题

当一个列表的Item数很多时,为了效率与节省资源,我们不得不使用LongListSelector,它只保存了当前可见Item数的UI内存,当列表滑动时,比如Item1的位置滑动后显示的是Item10,它直接把Item1对应UI控件的DataContext从Item1直接变成tem10,也就是说UI控件依然是Item1的UI控件,避免了重新创建UI控件的资源开销。假如ItemTemplate里用

2014-01-03 15:55:27 2044

原创 说说C#的async和await

C# 5.0中引入了async 和 await。这两个关键字可以让你更方便的写出异步代码。看个例子:public class MyClass{ public MyClass() { DisplayValue(); //这里不会阻塞 System.Diagnostics.Debug.WriteLine("MyClass() End."); } public Task G

2013-12-30 10:36:05 180667 25

转载 wp8里通过Uri启动另一个应用程序

原文:http://blog.csdn.net/flashtao613/article/details/8085759

2013-07-24 13:23:27 2107

转载 Windows Phone WebBrowser的技巧

原文:http://www.cnblogs.com/xiaoshatian/archive/2012/03/07/2383900.html

2013-07-18 11:14:09 1066

原创 wp8里使用MessageBox需要注意的小问题

当我们的应用程序连接不到服务器时,通常我们会提示用户打开wlan或者程序自动选择一个新的服务器,代码如下:MessageBox.Show(AppResources.Msg_NetworkFailed, AppResources.ApplicationTitle, MessageBoxButton.OK);App.SetNextServer();App.ConnectServer

2013-07-09 09:14:39 2295

原创 备忘!WP8开发必须注意的那些事……[未完待续]

App应用程序状态管理的主事件有四个:Launching、Deactivated、Activated 和 Closing。这些事件里任务时间必须在10秒内完成,否则程序被终止!所以,这些事件里面最好别做网络和独立存储操作。App被切换到后台时处于休眠状态,无法干任何事,而且可能会被系统执行逻辑删除而终止。程序被逻辑删除后,程序状态数据和页面状态数据会暂时被保留,但由于系统最多只

2013-05-14 09:50:53 1343 1

原创 在WP8开发中的使用MVVM模式

MVVM模式,即Model - View - ViewModel模式,这是Microsoft推荐WPF开发者使用的一种模式。MVVM模式的目的是为了使View(即xaml)只处理UI效果,与数据相关的操作都由ViewModel处理,代码结构更清晰,容易维护。要深入理解MVVM模式,推荐阅读这篇 章:http://www.codeproject.com/KB/WPF/WpfMvvmQ

2013-05-10 13:41:23 2250

原创 wp8里监听控件自带属性的变化

在wpf里,有DependencyPropertyDescriptor类可以轻松实现监听控件自带属性的变化,如下:DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(TextBlock.FontSizeProperty, typeof(TextBlock));if (dpd != nul

2013-03-13 09:01:20 2142

原创 WP8自定义控件之实现DataTemplate和绑定

下面我来自定义类似系统ListBox的MyListBox控件,里面包含模版属性ItemTeamplate。1、添加新类MyListBox.cs,让它继承自Grid:[TemplatePart(Name = "ItemTemplate", Type = typeof(UIElement))]public class MyListBox : Grid2、添加ItemTemplate模

2013-03-01 10:26:15 3269

原创 WP8程序生命周期之快速恢复

先简述快速恢复的过程:当程序前台运行过程中,我们按窗口键会把程序切换到后台。这时候,wp8默认的快速恢复方法是长按后退键,而我们再点击ShellTile或主程序磁贴或程序列表图标运行程序时...

2013-02-27 16:16:17 2947 1

原创 WP8为LongListSelector添加类似ListBox的点击凹陷效果

我们知道WP8上的开发推荐使用LongListSelector代替ListBox,它的效率要比ListBox高。但是LongListSelector并没有ListBox的点击凹陷效果,而且VisualStateGroups里也没有对应的VisualState提供给我们直接修改,所以要想实现该点击凹陷效果只能想其它办法了。以下是个人研究的一种方法:1.新建一个UserControl,

2013-02-26 15:03:46 2686 1

原创 WP8,最后,怎么在属性变化时重新选择ItemTemplate呢?

根据前两篇文章,StockItem元素的DisplayType变更时会通知UI,而我们的ItemTemplate是根据DisplayType来选择的,那么DisplayType变更时怎么让LongListSelector重新选择ItemTemplate呢?方法是我们在代码里更改DisplayType属性的时候,用VisualTreeHelper获取StockItem元素的ContentPres

2013-01-23 17:26:00 954

原创 WP8为LongListSelector根据Item内容选择ItemTemplate

我们知道Win8里要使ListView根据Item内容选择DataTemplate时,可以使用DataTemplateSelector类,但WP8里没有这个类可用。所以,首先我们模仿实现一个DataTemplateSelector:public abstract class DataTemplateSelector : ContentControl { //根据newConten

2013-01-23 17:19:04 3154

原创 WP8的绑定属性变化时通知UI

我们知道在使用ObservableCollection作为LongListSelector的ItemsSource时,当源集合发生新增或删除元素时,会即时通知到UI作出更新。但是当只是修改源集合里元素的属性值时,却不会通知UI更新。为了使属性变化能够通知UI,需要为源集合的元素类实现INotifyPropertyChanged接口。首先我们抽象一个实现INotifyPropertyCh

2013-01-23 17:09:15 1686

原创 骨骼动画的核心,你必须了解的骨骼初始变换矩阵和蒙皮初始变换矩阵!

对于骨骼动画来说,最核心的就是这两个变换矩阵了吧:骨骼初始变换矩阵蒙皮初始变换矩阵 首先我们来了解一下骨骼层次框架:骨骼层次框架就是由一个根节点衍生出一个或多个子节点,每个子节也同样可以衍生出一个或多个子节点,如此逐层向下所组成的一个层次框架。每个节点有一个唯一标记的节点名称和一个骨骼初始变换矩阵。根节点:与其说它是一个节点,不如说它标志了我们的整个模型,它代表了我们模

2012-09-26 17:24:43 4992

原创 新进展,模型动作解出来了~~~

你懂的。。。老问题飘动衣带的解析还没解决。。。原来动作的旋转直接取代框架的初始旋转,但是框架初始位移又得保留,搞了半天。。。另外吐槽下356不但解出的模型数据各部分翻倍,而且解出的贴图全半透明的……似乎要和第2帧贴图做个运算 某童颜巨乳的,用的是香香的站姿,可恶的半透明贴图。。。  示例程序见此:http://game.ali213.net/thread-4

2012-09-21 15:03:10 2083

原创 D3DXLoadMeshFromX是个很糟糕的函数

我们知道D3DXLoadMeshFromX可以从一个.x文件加载网格数据,但是这个函数很糟糕。以tiny.x为例,如果你把加载后的顶点数据输出到文件里,再和原来.x文件顶点数据比较一下,你会发现xyz和normal都完全不同了。这导致了你加载完网格数据后不进行世界变换就直接渲染的话,模型的位置很奇怪。而且如果你再独立加载蒙皮信息,再对它进行骨骼变换的话,一切都错乱了。。。

2012-09-19 12:26:06 4581

原创 编译zlib库时的设置

今天想用用zlib,下载了1.2.7的源码,里面没有编译好的库文件,只能自己编译一个。zlib-1.2.7\contrib\vstudio下是vs的工程,编译时需要设置一下:1.先把zlibvc项目的生成目标改成静态库文件2.打开项目属性,Librarian -> Additional Library Directories 设置为zlib-1.2.7\contrib\masmx86;

2012-09-13 16:06:34 957

原创 Oh Yeah!! 初步破解了模型的骨骼蒙皮---------

见图,把云妹的手臂和脚加了个旋转。头发问题清楚了,原来是自己手贱,之前测试的时候加了个放大,后来忙着写代码忘了改回来。。。356的也破解了,理论上可以写个工具把模型导出随意修改,或者直接导入一个外来模型,当然得是包含基本骨骼的模型,手脚身体四肢要齐全,手指可以不要……这个需要研究下MaxScript脚本,本人对3D建模工具完全不懂……剩下的唯一的问题是,会飘动的布料顶点结构有点怪,

2012-09-08 23:59:41 1084

原创 把Thrift框架移植到Metro App

前面介绍了thrift框架的基本使用,看到了它的强大功能。我们很自然的希望把它在Metro app上也能使用,好,直接添加库和src到Metro工程里,编译,错误,不认识[Serializable],注释掉(src里包含了序列化的方法),再编译,通过了。运行,不行,通讯没响应。之前我们说过Metro app是一个.net framework的精简版,原因就在这里,编译thrift库的源文件

2012-09-05 16:58:03 1723

原创 Thrift框架使用教程

Thrift框架使用教程注:这个框架的强大之处在于它只需要写一个简单的thrift脚本就能生成不同语言的SourceCode,这些SourceCode包含了几乎所有Client端以及Server端代码,你只需要简单几句代码的调用就能达到想要的结果,轻松实现C-S交互的跨平台。1.安装下载页面:http://thrift.apache.org/download/

2012-09-04 14:28:30 18409

原创 三国无双模型数据结构。。。

_M1G****开头的块。。。typedef struct _M1G{ char _head[8]; //_M1G**** DWORD _fileSize; DWORD _size; //header size DWORD _partIndex; //0 DWORD _partSize; _M1GPart partFM1G; _M1GPart partSM1G[n

2012-08-28 15:53:47 1371

原创 控件篇 - 模态化的Popup控件实现

对于模态化的对话框,我们知道MessageDialog,但是它过于简陋,只能简单显示文字信息,不能自定义UI。现实是我们的需求总是要求这个对话框能够自定义,这时候自然就想到了Popup控件。Popup控件有一个很严重的问题,就是它没有属性指定它是模态化还是非模态化,也许以前有,精简到Metro就没有了……现在我们的Popup是非模态的,也就Popup弹出来之后后面的页面还是可以操作,而

2012-08-24 14:37:54 3012

原创 控件篇 - TextBox的GotFocus事件触发问题

如果你遇到以下问题:随便点击一个应用程序区域,点击处明明不在TextBox里,却触发了它的GotFocus事件。那么,很可能是你在最外层包了一个ScrollViewer,它导致了这个事件的诡异触发。 所以,最直接的解决办法是把这个ScrollViewer去掉;如果确实不能去掉怎么办,暂时未知。。。

2012-08-24 14:11:19 5876

原创 控件篇 - 子控件在StackPanel里的居中问题

如下面代码:  原意是想通过HorizontalAlignment和VerticalAlignment属性把TextBlock在StackPanel里水平和垂直都居中,但实际效果如下:水平是居中了,垂直却没有。原因是StackPanel默认的Orientation是Vertical,这种情况下只能设置水平方向的对齐属性;当StackPanel的Orienta

2012-08-24 13:29:23 15290

原创 Windows8 Metro style app开发前瞻

Windows8 RTM版已在8月2号发布,可以到以下Windows开发中心下载:http://msdn.microsoft.com/zh-CN/windows/apps/br229516.aspx 要开发Metro style app,你必须在Windows8上安装Visual Studio 2012,上面链接也有下载。其他系统安装的VS2012将不能建Metro style a

2012-08-24 12:28:25 1884 2

Introduction To 3D Game Programming With DirectX12

龙书,DirectX12版本,pdf,从国外正版网站得到的文字版本。

2017-12-30

Real-Time Rendering 3rd

Real-Time Rendering 第三版,经典书籍,高清扫描版本。

2017-12-30

Introduction to 3D Game Programming with DirectX11

龙书 DirectX11 文字版pdf,从国外正版电子书找回来的,所以只有20M大小

2017-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除