设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2628|回复: 16
打印 上一主题 下一主题

[已经解决] 如何实现时钟图像可随着调用的系统时间正常旋转

[复制链接]

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
跳转到指定楼层
1
发表于 2017-10-11 10:49:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 89444640 于 2017-10-11 10:55 编辑

由于上一个帖子问了,可以很方便的用变量带入显示时间,如果用电子表数字显示应该没有问题,如果用手表显示的话可能会有点问题,但是我选了个问题最大的,在地图上显示。且需要遮挡正常。
但是如果用传统时钟显示,目前我还没想到有什么好方法。除了特别累人的,用图像做出指针所有角度+6图像,然后依次显示,这样时分秒 三个指针就需要3*60-3=177张图像。能做但是不靠谱。
而且还有个要命的问题,如果用图像显示的话,绝对会遮挡角色,但是这个时钟应该是做为背景使用的。不用纯暴力列举所有图像的话,如何解决。
实际使用测试用截图遮挡异常情况如下,应该比这个小一些,现在的时钟太大了。这图遮挡顺序我调错了,应该是秒针遮挡分针遮挡时针,图像编号秒针最大后面的小时钟是别的地方用的,测试工程里面用的是去除时针指示的。


然后下面的是此场景中的图像文件,不知道现在附件下载是否需要消耗积分,如果下载不便我再传百度什么的网盘。
时钟显示.rar (616.12 KB, 下载次数: 82)

需要实现的效果是,在公用事件中,调用秒针且准确的的情况下,每隔20帧,也就是一秒,秒针转动6度,
若秒针困难且不准确,则仅需要调整分针和时针的变量,分针每分钟角度+6度。
时针由于需要取整数,每小时转动30度,因此每两分钟角度+1度。

时分秒分针无论如何转动,都要被人物和雾图形遮挡。

这种显示方式仅限于单张地图640*480的情况,地图不卷动。若在可以卷动的地图上显示时钟的变化,则需要思考其他解决方法,如何让行走图可以随着变量旋转。

有可能的话还希望程序员大神能帮忙解决一下,谢谢。



Lv4.逐梦者

梦石
0
星屑
19388
在线时间
3097 小时
注册时间
2013-1-11
帖子
1290
来自 3楼
发表于 2017-10-11 14:47:51 | 只看该作者
本帖最后由 张咚咚 于 2017-10-12 16:41 编辑

时钟显示2.7z (451.38 KB, 下载次数: 101)

点评

对,是这样。程序更新了吧?我去测试一下在重力脚本下遮挡是否正常,还有那两个座钟,当角色Y坐标大于事件坐标时候回遮挡角色。  发表于 2017-10-12 13:24

评分

参与人数 2星屑 +140 +1 收起 理由
RyanBern + 140
89444640 + 1

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
23186
在线时间
2387 小时
注册时间
2005-10-15
帖子
1166

开拓者

2
发表于 2017-10-11 11:41:25 | 只看该作者
事件里有个功能叫图片旋转(当然你不能直接用)
可以看一下其脚本实现,然后自己仿写:
原理是
图片不论显示在哪层,都是sprite,用ox和oy决定其传送点,然后用angle改变其角度。每次+6即可实现旋转。
旋转是用原图叠加,不损失质量,就是要花处理时间
1秒刷新1次就可以,别帧帧刷。

点评

然后遮挡问题怎么办呢?让角色在某开关开启情况下挡住特定编号挡图片是否可行?  发表于 2017-10-11 11:43
20或者40帧刷一次即可吧,脚本盲ORZ 不知调用道用哪个代码实 现还请帮忙  发表于 2017-10-11 11:43
SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
4
 楼主| 发表于 2017-10-12 11:12:02 | 只看该作者
本帖最后由 89444640 于 2017-10-12 13:29 编辑

非常感谢,基本已经成功了,但是这个图像遮挡问题还是无法解决。
于是我采用了妥协的方式,让会出现遮挡异常的地方角色无法到达。感觉时钟的冲击力小了好多--b,我还是喜欢恶魔城时之回廊那个大钟的描绘方式。



由于时钟的位置变了,不知道用什么代码调节图像的偏移量
这个位置是X不变Y+N
还请帮忙改一下,非常感谢。

时钟显示.rar (426.95 KB, 下载次数: 79)


这个是事件图快大了以后遮挡异常的情况,只要角色Y坐标超过事件就一直会遮挡角色,由于使用了重力脚本,没法调成角色遮挡所有,因为还有很多前景原件- -b,有办法可以解决事件的遮挡,让角色在某个开关打开的情况下,遮挡地图上的事件原件吗?


点评

那个脚本试了一下,无效。  发表于 2017-10-12 15:13
[1,2].each{|i| $game_map.events[i].instance_eval{ def screen_z(a);return 0;end;}} #设置1、2号事件优先级在角色下方  发表于 2017-10-12 14:01
非常感谢,我继续测试,补充了一个遮挡异常的情况。请看一下。  发表于 2017-10-12 13:30
遮挡问题修复在上楼  发表于 2017-10-12 12:18
所有指针的Y坐标改为144  发表于 2017-10-12 11:54
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
5
 楼主| 发表于 2017-10-12 15:05:40 | 只看该作者
非常感谢,我去试试,刚才测试时候出现的不算是问题的,时针排列秒针在最下方了,好像……现实中的时钟秒针应该在最上方?
新的作死,整点报时。功能
我设置成并行处理,判断当变量判断分钟为00时候 开关打开
自动执行,条件分歧,小时为1~12的时候分别判断播放se的次数,
但是实际情况不是卡死就是不播放。
上着班总有事情打断思路,实在是想不出怎么设置了ORZ,再次麻烦你了~
时钟显示2.rar (465.84 KB, 下载次数: 89)



点评

我测试是正常的,是不是时间不对,好像只有1、2、3点有设置  发表于 2017-10-12 18:20
似乎不行,没有播放报时。  发表于 2017-10-12 17:29
时钟显示出来后就不要用Time类了,直接计算指针的角度来判断时间,因为指针整点的时候都会执行一次,可以在里面加入开关不用那么麻烦,3楼范例  发表于 2017-10-12 16:44
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35180
在线时间
4169 小时
注册时间
2007-12-15
帖子
10066
6
 楼主| 发表于 2017-10-16 11:32:59 | 只看该作者
本帖最后由 89444640 于 2017-10-17 12:45 编辑
89444640 发表于 2017-10-12 15:05
非常感谢,我去试试,刚才测试时候出现的不算是问题的,时针排列秒针在最下方了,好像……现实中的时钟秒针 ...

周末干别的去了,今天突然想起来,会不会是因为系统是24小时时间制的原因造成卡死
但是时钟显示是12小时计算的,可是系统时间会因为计算而出现
13:00的情况,所以当时间等于13:00~0:00 时候也要写一遍,否则就会卡死不动了。
刚才试了一下,果然能正常运行了。
现在还有一个问题,我这个音效如果用时钟敲击一下用等待来处理的话,会因为等待角色不能动,回去处理一下音效,1~12下分别做出来,这样就可直接敲钟而不用等待了,如果马上切换场景也可以用停止se来处理。
我再试一下。
20171017
试验成功,分别播放1~12下的音效,不用等待,完全不卡角色行动。
非常感谢您的帮助。将会把您的名字镌刻在本脚本事件页的第一行~(只能用注释表示--b否则影正常长运行)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-11 08:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表