minecraftpe吧 关注:638,708贴子:15,084,595

【教程向】对于GUI的正确理解(ModPE)

只看楼主收藏回复

各位好,我是mp,因为大学事忙,一直没什么自由的时间。相信已经有很多人不认识我了,不过没有关系。
接下来我要讲的是GUI。没错,这里的GUI是ModPE的GUI。
准确地来说,是如何理解GUI的实际意义。这里不会太过涉及实际的代码。目的是让一般人也能明白GUI到底是什么东西。
(以下ModPE,简称Mod。JavaScript,简称js)
以上,版权所有,侵权必究。
All rights reserved by mp430488。


IP属地:中国香港1楼2017-01-11 22:17回复
    2L个人相关(如果你不了解我是谁,或许可以看看这些链接)


    IP属地:中国香港2楼2017-01-11 22:18
    收起回复
      围观


      IP属地:江西来自Android客户端3楼2017-01-11 22:19
      回复
        接下来是对于GUI的简介:
        GUI:通常指的是图形界面,举个简单例子,我们打开电脑看到的"桌面",就是一种GUI。
        在几十年前,电脑是要一条条打指令才能执行操作的,比如简单到打开,复制粘贴,或者是删除一个文件,都是需要输入指令的。GUI的出现,使得电脑成为了一般人也能使用的工具。
        实际上,现有的ModPE,由于它是在安卓系统上运行的,所以很多地方都和安卓的程序代码十分相似(实际上就是在调用安卓的代码。)只不过在这里,换成了用js的语言编写,所以细节方面会有些不同。
        相信有一部分人,也很苦恼怎么去系统地学一遍Mod的GUI,所以这里我推荐你们去找一本安卓的书,越基础越好。网上搜索或者买一本都可以。虽然我个人是完全没看书学会的。但是实际证明,这种方法不适合一般人,说白了,我是不看书自学学会的,完全瞎敲代码猜出来的,至于看书那是很后来的事情了。
        至于怎么把安卓的代码改写成Js可以调用的形式,其实随便找个有GUI的js,稍微看一下就很容易明白了,这里不过分涉及。虽然我说很容易明白,但还是给你们一个忠告,就是第一次做自己的GUI的时候,越简单越好,不要加没用的东西,不然出错了你也不知道为什么。
        总之,我的目的是让一般人能够明白GUI是什么,仅此而已。


        IP属地:中国香港4楼2017-01-11 22:21
        收起回复
          1.button
          button,意思就是按钮。
          所谓的按钮,主要有两个部分组成。
          1.1 触发方式
          所谓的触发方式,有很多种。比如短按(按一下就松开),比如长按(按一段时间),比如按住(按着一段时间,而且不放开)
          以上三种触发方式,分别对应onclick,onlongclick,ontouch。只要满足了括号里写的条件,就会触发行为。
          1.2 触发行为
          这个就很简单了,只要满足触发条件,就会触发行为。
          例子:一个普通的按钮,连接着一个灯。按一下,灯就亮了,再按一下,灯就熄灭了。
          这里的按一下,就是短按,灯(亮/灭)了,就是触发行为。


          IP属地:中国香港5楼2017-01-11 22:29
          收起回复
            MP4也放假了?


            IP属地:重庆来自Android客户端6楼2017-01-11 22:30
            收起回复
              补充:对GUI有一定了解的都知道,每一种触发方式,对应的触发行为是只能有一种的。
              比如上面的灯的开关,用的是短按的方式。无论你怎么按,触发行为都是一样的代码。
              那么怎么做到按一下开,再按一下又关呢?(而不是开)
              实际上很简单,只需要用到变量代表状态,再用if语句判断现在是开还是关就行了
              例子:(以下代码可以直接执行的,你可以试试看)
              var x = "熄灭"
              function click(){
              if(x == "熄灭"){
              clientMessage("灯点亮了")
              x = "点亮"
              }
              else{
              clientMessage("灯熄灭了")
              x = "熄灭"
              }
              }
              //以上为函数定义
              clientMessage("第一次短按按钮的行为:")
              click()
              clientMessage("第二次短按按钮的行为:")
              click()


              IP属地:中国香港7楼2017-01-11 22:39
              收起回复
                dd
                  一一你们说加个什么小尾巴好呢


                IP属地:山东来自Android客户端9楼2017-01-11 22:49
                回复
                  卧槽,mp复活了
                     --来自帅气玄与影的小尾巴


                  IP属地:广西来自Android客户端11楼2017-01-11 22:57
                  收起回复
                    dd


                    来自Android客户端12楼2017-01-11 23:02
                    回复
                      答案:
                      第一次短按按钮的行为:
                      灯点亮了
                      第二次短按按钮的行为:
                      灯熄灭了
                      注:你回复自己的答案的时候,可以简写,自己看得懂就行
                      简写例子:第一次按按钮
                      灯亮了
                      第二次按按钮
                      灯灭了


                      IP属地:中国香港13楼2017-01-11 23:45
                      回复
                        各位:
                        如果有疑问,还请在贴吧直接说出来并艾特我。没事请不要加我的QQ,我在QQ上不会回答任何问题,除非收费。
                        有问题直接在贴吧问我。还有,请打好草稿再来问我问题。如果我看不懂,也会懒得回复,谢谢。
                        如果你对mod有点兴趣,可以加2L的qq群,欢迎各位讨论。
                        如果有意见,欢迎回复我,我有时间也会补充。
                        最后,我本人也提供一些收费的服务,主要是制作modpe的js。欢迎私聊我QQ。
                        详见此贴:http://tieba.baidu.com/p/4345343443
                        请打好草稿,简单明了的解释,你要做的js。
                        一般每次要几十。如果你觉得我很坑,我只能说,我也是很忙的,不是你被坑,就是我累死。还请谅解。


                        IP属地:中国香港15楼2017-01-12 00:02
                        回复


                          IP属地:江西来自Android客户端16楼2017-01-12 00:03
                          收起回复
                            给可爱的楼主暖暖贴\r


                            来自Android客户端18楼2017-01-12 03:25
                            回复
                              gui毁一生系列


                              来自Android客户端19楼2017-01-12 06:28
                              收起回复