Windows Phone 8学习准备

Windows pohone8高级编程http://www.microoh.com/course/22

Windows Phone 8学习准备

随着移动设备的日益发展,移动设备上的开发也迅速的发展起来。周围很多同事都在掌握属于自己的移动设备开发知识,很多人都在搞基于IOS和Android操作系统上的开发。我也想针对我个人的情况,开始学习和了解一下移动设备的开发。

目前,我不想去接触IOS和Android,这并不是说这两种类型的操作系统不好或者不流行,相反,它们很好也很流行。至于目前不想去了解和接触的原因主要是:

我以前没有去关注和了解基于这两种操作系统下的开发;

我没有IOS和Android系统开发的基础知识(到目前为止我没有用过C++和Java去做过项目,也没有用过JavaScript结合Html5去做过项目);

最近微软发布了Windows phone 8,我没有用过Windows phone 8的移动设备,我个人还是比较看好。也准备花些时间去了解一下,说实话我也不知道从什么地方开始入手。园子里面好像这方面的介绍也少了一些。但我相信,园子里面这方面的高手肯定非常多,我希望你们多指教一下。我英文很不好,很多时候都是借助翻译软件去看一些英文资料,所以这对于我去学习Windows phone 8开发又添加了难度,因为现在的中文资料比较的少。

我目前了解的Windows phone 8方面的东西比较少,我在这里针对于我个人对Windows phone 8的了解作一些总结,我希望大家给我更多的帮助。我认为Windows phone 8的开发设计的语言及背景可以从三方面着手:

基于托管框架上的开发,采用C#,Vb作为开发语言。用 XAML 作为 UI 开发,对于以前使用过WPF和Silverlight的人来说,可能开发起来会更顺手一些。我以前对WPF有一定的了解和使用,我也是我选择Windows phone 8的原因之一。

使用C++进行应用开发,需用了解 Direct3D,好处是可以以充分利用手机的图形硬件。 使用JavaScript和Html5 进行应用开发,这也是跨平台的。这一点我还是比较模糊,以后有时间需要去了解。

开发环境我已经搭建好了,我的机器是xx年买的T410,Cpu是i7,这个配置完全符合要求。其实,对于机器硬件和软件的要求,是因为需要利用Windows Phone 模拟器。

大家可以查看Windows Phone 模拟器的系统要求(http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff626524(v=vs.105).aspx#system)。

Windows phone 8 Sdk也已经安装完毕,前两天进行了简单的测试,一切顺利。我的操作系统是Windows 8企业版(X64),从淘宝上买了个key,呵呵。

 

第二篇:Iphone动画学习总结

Iphone动画学习总结

一、创建UIView动画(块)--(指过渡效果的动画) 基本方式:使用UIView类的UIViewAnimation扩展。

1、代码示例:

//开始准备动画

[UIViewbeginAnimations:nilcontext:nil];

//定义动画加速或减速方式

[UIViewsetAnimationCurve: UIViewAnimationCurveLinear]; //动画时长

[UIViewsetAnimationDuration: 2.7];

//设置过渡效果

[UIViewsetAnimationTransition: transitionforView: self.view cache: YES];

//动画中所做的改变,改变的obj应与forView中的对应 [self.viewexchangeSubviewAtIndex:

[self.view.subviewsindexOfObject(index1)]

withSubviewAtIndex:

[self.view.subviewsindeOfObject(index2)]

];

//动画结束

[UIViewcommitAnimation];

上面提到的transition参数取值范围:UIView类自身提供四种过渡效果。

UIViewAnimationTranstionNone无过渡

UIViewAnimationTranstionFlipFromLeft 从左到右翻转 UIViewAnimationTranstionFlipFromRight从右到左翻转 UIViewAnimationTranstionCurlUp 从下向上卷 UIViewAnimationTranstionCurlDown 从上向下卷

2、还有另一种形式:

//返回当前视图堆栈顶部的图形上下文

CGContextRef context =

UIGraphicsGetCurrentContext();

[UIViewbeginAnimations: nil context: context]; //以下内容如上

……

二、block方式:使用UIView类的

UIViewAnimationWithBlocks扩展

1、代码示例:

[UIViewanimateWithDuration: 2.7 //动画时长 delay: 2.7 //延迟

options: (UIViewAnimationOptions) options animations: ^(void) {

要做的变化

}completion: ^(BOOL finished) {

变化结束时做些事情

}

];

常见的是其嵌套使用。

三、core方式: 使用CATransition类

1、须知:

CATransition只针对图层,不针对视图。图层是Core Animation与每个UIView产生联系的工作层面。使用Core Animation时,应该将CATransition应用到视图的默认图层([myView layer])而不是视图本身。

使用CATransiton类实现动画,只需要建立一个Core Animation对象,设置它的参数,然后把这个带参数的过渡添加到图层即可。

使用前要引入QuartzCore.framework库,并在相应处添加代码#import <QuartzCore/QuartzCore.h>。

2、代码示例:

//定义动画

CATransition *transition = [CATransition animation]; //间隔时间

transition.duration = 0.5f;

//动画开始与结束的快慢

transition.timingFunction =

[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];

//动画效果

transition.type = kCATransitionFade;

//动画方向

transition.subtype = kCATransitionFromRight; transition.delegate = self;

[self.layeraddAnimation: transition forkey:nil]; layer所在图层的变化;

3、CATransition的过渡效果类型:

公开的:

kCATransitionFade 淡化

kCATransitionMoveIn 覆盖

kCATransitionPush 推挤

kCATransitionReveal 揭开

非公开的:

@”cube” 立方体

@”suckEffect”吸收

@”oglFlip” 翻转

@”rippleEffect” 波纹

@”pageCurl” 卷页

@”cameraIrisHollowOpen” 镜头开

@”cameraIrisHollowClose” 镜头关

四、UIImageView自身动画属性

可以方便地实现幻灯片效果

1、代码示例:

//齿轮转动

UIImageView *tmpView = [[UIImageViewalloc] initWithFrame:CGRectMake(133, 118, 50, 50)];

[self.viewaddSubview:tmpView];

tmpView.animationDuration = 0.3;

tmpView.animationImages = tmpArray;

tmpView.animationRepeatCount = 0;

[tmpViewstartAnimating];

[tmpView release];

tmpView参数为数组,存放UIImage对象。

五、其它相关总结

因为在设计动画的过程中,为了体现出视图动态的效果,有些属性和方法我们还需深入了解一下。

1、UIView的frame、bounds、center属性的区别。 frame:该View在父View坐标系中的位置和大小。(参照点是父亲的坐标系统)

bounds:该View在本地坐标系中的位置和大小。(参照点是本地坐标系)

center:该View的中心点在父View坐标系中的位置和大小。(参照点是父亲的坐标系)

2、视图缩放、旋转、移动。

//将视图的大小转变为正常大小的200%

CGAffineTransformnewTransform =

CGAffineTransformMakeScal(2.0, 2.0);

//添加到相应视图中

[btnsetTransform: newTransform];

//视图的旋转

CGAffineTransformnewTransform =

CGAffineTransformMakeRotate(transform, M_PI); 或

CGAffineTransformnewTransform =

CGAffineTransformMakeRotation(-M_PI);

//视图的移动

CGAffineTransformnewTransform =

CGAffineTransformMakeTranslation(width, 0.0);