掌叔
2008-06-06 16:04:17
摘自:chenyi1976.spaces.live.com
翻译:陈轶
这里我们将介绍所有PAlib中特别针对DS的函数,比如:关机,合起状态,用户信息,时钟。。。
时间和日期
获取时间和日期非常简单,简直不用学习!例子在PAlibExamples/Other/Date_Time,只有2行
PA_OutputText(1, 2, 10, "%02d/%02d/%02d", PA_RTC.Day, PA_RTC.Month, PA_RTC.Year); // Date
PA_OutputText(1, 2, 12, "%02d:%02d %02d seconds", PA_RTC.Hour, PA_RTC.Minutes, PA_RTC.Seconds); // Time
你不用关心文本显示的函数,只用关心里面的变量。。。PA_RTC是一个每帧刷新的结构,包含了当前日期和时间。PA_TRC有如下变量:
* PA_RTC.Day, 日期,范围1到31
* PA_RTC.Month, 月份,范围1到12
* PA_RTC.Year, 年份,从 00 (相当于 2000) 到 99 (相当于2099)
* PA_RTC.Hour, 小时,0到23
* PA_RTC.Minutes, 分钟,0到59
* PA_RTC.Seconds, 秒,0到59
不用再废话了吧。。一清二楚。
用户信息
(译:用户信息就是第一次开机的时候输入的生日啊,喜欢的颜色啊,等等信息)
用户信息并不难获取!看看PAlibExamples/Other/UserInfo这个例子。。。
用户信息包含在PA_UserInfo结构中,包含以下变量:
*
PA_UserInfo.Name, 用户名称
*
PA_UserInfo.BdayDay, 生日,几号
*
PA_UserInfo.BdayMonth, 生日,几月
*
PA_UserInfo.Language, 语言,0表示日文,1表示英语,2表示法文(译:好奇IDSL里面是多少)
*
PA_UserInfo.Message, 用户输入的信息
*
PA_UserInfo.AlarmHour, DS闹钟,小时(0到23)
*
o
PA_UserInfo.AlarmMinute, DS闹钟,分钟
o
PA_UserInfo.Color, 用户喜欢的颜色
就这些了。。。
合屏暂停
(译:DS正在玩的时候,把上下屏幕闭合,游戏就会暂停)
我猜你已经发现了如果你把上下屏闭合,游戏会自动暂停!至少在商业游戏中会这样。。。。你不想在你的游戏中加入这一特性吗?很容易!只要加一行函数就行了!
PA_CheckLid(); 检测是否上下屏闭合的函数。。。。如果上下屏已经闭合就会返回1,否则就返回0
我们应该把这个函数放在哪里?放在PA_WaitForVBL();函数之前。你可以试试Other/CheckLid这个例子,不过模拟器上可没有盖子让你合起来。
屏幕背景光
屏幕背景光!你能随意调节它。。。。
看看这个例子Other/ScreenLight
if (Pad.Newpress.A) PA_SetScreenLight(0, 1); // Turn on bottom light
if (Pad.Newpress.B) PA_SetScreenLight(0, 0);
if (Pad.Newpress.X) PA_SetScreenLight(1, 1);// Turn on top light
if (Pad.Newpress.Y) PA_SetScreenLight(1, 0);
超级简单的函数。。。。