cs地图吧 关注:9,316贴子:340,253
  • 17回复贴,共1

【教程】钟表实现

只看楼主收藏回复

这个钟表实现并不是我首创,我最早见到的应该是小克的“谁是智障3”里面的钟表,如果有更早的版本,嗯,我玩的地图还是少了。
这个教程主要是自己上厕所时想出来的
好了废话少说开始教程吧(尽管使用了Sven Co-op 5.0但是在CS上依旧有相同的表现所以不用担心可移植性问题,那是编程的问题,当然我不喜欢某语言的可移植性所以用某语言编写时向来只考虑现在的PC上的C语言而且还只考虑Windows因为没必要好吧是懒)。
1.创建钟表基本结构:
创建一个十字,然后分割它们 (图1,图2).

(图1)

(图2)
利用中间的十字部分做好指针,数量自定义,从此开始所出现任何关于指针的内容,若无特殊说明,指针均为秒针 (图3).

(图3)
创建好后,重点便在于如何让指针准确(或较为准确)地走,即60秒后如何让指针指向上方12点处或者一个较为接近的位置.
其实我们可以这么想: 指针如何用接近60秒的时间走完圆的一周 (图4).

(图4)
这并不难,因为算圆的周长是小学就掌握了的,因此我们先得出圆的直径(或者半径),从这里开始,出现的计算圆周长均以直径为例 (图5).

(图5)
804的数值偏大而且因为804÷60=13.4的结果误差偏大,无论是取舍都不合适,因此我们取直径为120的圆进行计算,顺便修改了一下指针的外观 (图6).

(图6)
372÷60=6.2误差偏小一点,因此我们舍去0.2,因为0.2舍去后误差偏小一些,因此我们可以选择6作为它的速度。
展示 (图7,图8,图9)
(图7)

(图8)

(图9)
答疑:
Q:按照教程的方法来做,的确没有问题,但是指针并不能在60秒时准确无误指向整点,为什么?能否消除误差?如果能,怎么做?如果不能,该如何将误差减到最低?
A:很正常,因为在计算过程中并没有准确地计算,只是尽可能减少了误差,那么在算得的周长刚好能被60整除的情况下依旧存在误差,只是偏小一点,因为在计算周长时有一个常量,那就是π,π的取值为3.1,固然不能算得准确的数,因为你不能因为例子中π取值3.1或者3.14就认为π=3.1或者π=3.14.
Q:若指针偏向了左边,究竟是进一还是舍去了?为什么?
A:舍去了。原因如下
条件: S = 60;
V = 6.2的情况为A情况;V = 6的情况为B情况
(由于百度贴吧不支持表格)
Situation\Time 1 2 3 4 5
A 6.2 12.4 18.6 24.8 31.0
B 6.0 12.0 18.0 24.0 30.0
由上面表格可以知道随着时间的推移,这个差距会越来越明显,上面时间以秒为单位,则每5秒产生一次1个单位的误差,60秒将产生60/5*1=12个单位的误差!而可以假设6.0是6.2舍去后的结果,因此我们如果发现指针偏左太多,那就是舍去的数太大,应考虑是否进一,如果发现偏右太多,那就是进一不合适,比如6.1这个数你选择进一,那就不合适了,我们应当考虑是否选择舍去而不是进一。在面对各种各样地图制作问题中,我们不应该动不动就是发帖提问还动不动就加Q远程一天到晚烦人家,人家没义务帮你,你也没权利也没义务叫人家帮你远程解决,就算远程,奉劝你们还是放弃,远程不代表你会,只代表你找了帮手。要想学会并擅长制作地图,需要独立思考并且独立解决各种地图制作问题,提升你的制作技术,制作出优秀的地图。
借个地方庆祝一下Sven Co-op 5.0以免费独立的形式登陆Steam平台!
Sven Co-op 5.0生存模式截图,第一张不得不说摔下去没得救233



最后来一张
High Ping卡得我换枪不换子弹


IP属地:山东1楼2016-01-26 20:48回复
    附上Word文档下载地址
    i-am-sonic.y s 1 6 8 . c o m
    删除空格,总计8个空格。


    IP属地:山东2楼2016-01-26 20:57
    收起回复
      @zgzzd
      @344233108
      此教程能否加精


      IP属地:山东3楼2016-01-26 20:59
      回复
        清扫一下水经验回复


        IP属地:山东来自Android客户端9楼2016-01-26 23:02
        回复
          转动速度是角速度,秒针在钟上每秒转6°,填6就对了,分针如此类推,时针除不尽可以不做


          IP属地:广东10楼2016-01-27 06:28
          收起回复
            然而楼主请说人话


            IP属地:广东11楼2016-02-02 22:44
            收起回复
              第一张图 田牌即视感


              IP属地:广东来自Android客户端12楼2016-02-03 22:50
              回复
                有想法,赞


                IP属地:山西来自Android客户端13楼2016-02-19 01:21
                收起回复
                  dalao能不能发你的制作工具一下


                  IP属地:广西来自Android客户端15楼2017-06-21 23:22
                  回复