日前微软前CEO比尔盖茨在接受采访时表示,在现阶段Window 8和Windows Phone 8在界面上有很多相似之处,也共享了开发工具。而在未来,微软将在两个平台的整合上做更多的努力,最终整合为一个单一的平台。这个单一的平台将和微软的云、Office、应用商店等所有微软的产品整合,最终给用户一个无缝的体验。
此外,对于微软即将推出的Surface,盖茨表示Surface是一款“难以置信的伟大产品”,对它简直爱不释手。而对于Windows 8,盖茨称Win 8是微软一个“绝对关键的产品”,将平板电脑和传统PC的“最好”特性合为一体。
下面是对盖茨的视频采访:
原文地址:Exclusive video: Bill Gates on Windows 8, Windows Phone 8 and Surface
可以用系统自带PlayerPrefs的来存取数据。存储可以在各个Scene里面读取。
存储目录:
Mac OS X 下PlayerPrefs 存在 ~/Library/Preferences 目录,
文件名格式如下: unity.[company name].[product name].plist, 其中 company name 和 product names 是在 Project Settings
中设置的.
如何去:到你名字下面,按键command+shift+G, 然后输入Library/Preferences就可以了
Windows
下, PlayerPrefs 存在注册表里面 HKCU\Software\[company name]\[product name] , 其中
company name 和 product names 是在 Project Setting 中设置的. 不过在我的XP系统里面,因为company name和 product name,所以显示的都是乱码,直接开始->运行->输入:regedit 启动注册表,搜索你存储的键值就可以了。
代码如下:
using
UnityEngine;
using System.Collections;
//created by lancer li at 2012
public class SaveManager {
//keys
public const string KEY_USER_ID = "key_uid";
public const string KEY_USER_NAME = "key_name";
public const string KEY_ACCOUNT = "key_account";
public const string KEY_PASSWORD = "key_password";
public const string KEY_SESSION = "key_session";
public const string KEY_PLATFORM = "key_platform";
public static void SaveUserInfo(int uid, int platform, string account, string password){
SaveUserID(uid);
SavePlatform(platform);
SaveAccount(account);
SavePassword(password);
}
public static void SaveUserID(int uid){
PlayerPrefs.SetInt(KEY_USER_ID, uid);
}
public static int GetUserId(){
return PlayerPrefs.GetInt(KEY_USER_ID);
}
public static void SavePlatform(int platform){
PlayerPrefs.SetInt(KEY_PLATFORM, platform);
}
public static int GetPlatform(){
return PlayerPrefs.GetInt(KEY_PLATFORM);
}
public static void SaveAccount(string account){
PlayerPrefs.SetString(KEY_ACCOUNT, account);
}
public static string GetAccount(){
return PlayerPrefs.GetString(KEY_PASSWORD);
}
public static void SavePassword(string password){
PlayerPrefs.SetString(KEY_PASSWORD, password);
}
public static string GetPassword(){
return PlayerPrefs.GetString(KEY_PASSWORD);
}
public static void SaveSession(string session){
PlayerPrefs.SetString(KEY_SESSION, session);
}
public static string GetSession(){
return PlayerPrefs.GetString(KEY_SESSION);
}
}
http://blog.csdn.net/xcysuccess3 版权所有
,转载请说明
1.竖排绘制
- (void)drawRect:(CGRect)rect //竖排绘制 { // Drawing code here. CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetTextMatrix(context, CGAffineTransformIdentity); CGContextTranslateCTM(context, 0, self.bounds.size.height+20); CGContextScaleCTM(context, 1.0, -1.0); CGContextSetTextMatrix(context, CGAffineTransformIdentity); NSAttributedString *str = [[NSAttributedString alloc ] initWithString:@"学习 Core Text. Learning Core Text. 中华人民共和国。" attributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], (NSString *)kCTVerticalFormsAttributeName, nil]]; CFAttributedStringRef attrString = (CFAttributedStringRef)str; CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attrString); CGMutablePathRef path = CGPathCreateMutable(); CGRect bounds = CGRectMake(10.0, 10.0, 200.0, 200.0); CGPathAddRect(path, NULL, bounds); CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, (CFDictionaryRef)[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:kCTFrameProgressionRightToLeft], (NSString *)kCTFrameProgressionAttributeName, nil]); CTFrameDraw(frame, context); CFRelease(attrString); CFRelease(framesetter); CFRelease(frame); CFRelease(path); }
这里一定要是给NSAttrubuted字设置好属性,否则中文将是旋转角度。
2.旋转角度绘制
1楼toddmi前天 15:19博主写得非常好!- (void)drawRect:(CGRect)rect //旋转 { [super drawRect:rect]; CGContextRef context = UIGraphicsGetCurrentContext(); // CGContextSetTextMatrix(context, CGAffineTransformIdentity); CGContextTranslateCTM(context, 0, self.bounds.size.height+20); // CGContextScaleCTM(context, 1.0, -1.0); CGContextRotateCTM(context, radians(90)); CGContextTranslateCTM(context, 20, -460); CGMutablePathRef path = CGPathCreateMutable(); //1 CGPathAddRect(path, NULL, self.bounds ); NSAttributedString* attString1 = [[[NSAttributedString alloc] initWithString:@"Hello core text world!"] autorelease]; //2 CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attString1); //3 CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, [attString1 length]), path, NULL); CTFrameDraw(frame, context); //4 CFRelease(frame); //5 CFRelease(path); CFRelease(framesetter); }
这里的坐标系大家可以好好摸索一下。这个代码是我自己试出来的。坐标系翻转之前为什么是self.bounds.size+100,而不是-100我也不懂。望有高手解答。这里的原始坐标是x向右,y向下。在屏幕底部。这个我看网上说是Coretext的专有属性。
起点随笔
2012-10-23
ios交流QQ群:237305299