关于C# DateTime.Now 的重要疑问

voidUpdate(){DateTimetime=DateTime.Now;hours.localRotation=Quaternion.Euler(0f,0f,tim... void Update () {

DateTime time = DateTime.Now;

hours.localRotation = Quaternion.Euler(0f, 0f, time.Hour * -hoursToDegrees);

minutes.localRotation = Quaternion.Euler(0f, 0f, time.Minute * -minutesToDegrees);

seconds.localRotation = Quaternion.Euler(0f, 0f, time.Second * -secondsToDegrees);

}

update()是每帧调用一次的事件函数,但在这个例子中 时钟的指针并没有模拟转动的过程,理论上,我在每一帧的开始时将当前系统时间赋给 time 变量,每秒后 time变量都应该更新吧 那么 seconds.localRotation 在每秒后都应该产生变化吧,那么秒针应该会每秒转动一次啊,可是没有

TimeSpan timespan = DateTime.Now.TimeOfDay;

hours.localRotation =

Quaternion.Euler(0f,0f,(float)timespan.TotalHours * -hoursToDegrees);

minutes.localRotation =

Quaternion.Euler(0f,0f,(float)timespan.TotalMinutes * -minutesToDegrees);

seconds.localRotation =

Quaternion.Euler(0f,0f,(float)timespan.TotalSeconds * -secondsToDegrees);

这段代码则显示了指针的转动变化
有人能帮我解释一下吗?
抱歉没分了
展开
 我来答
濮方雅BX
推荐于2018-04-23 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2463万
展开全部
TimeOfDay类型:System.TimeSpan
一个时间间隔,它表示当天自午夜以来已经过时间的部分。
totalHours、totalMinutes、TotalSeconds都是折算之后的数(带小数点的),而time.Hour这些都是整数

比如现在是2:19:50

那么time.Hour输出就是2,而totalHours则是2.330647

你要模拟时钟转动,必须要用后者。
ml02218370
2015-03-04 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:59.4万
展开全部
应该是类型的问题 你用整形显示变化了
还有你这个提问应该是unity 这样解决会快一些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式