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

Project1

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

[已经解决] 关于JS脚本写法的问题,请大神来帮帮忙

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
231 小时
注册时间
2014-10-5
帖子
296
跳转到指定楼层
1
发表于 2015-10-28 22:12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我学过一段时间C#,也用过U3D做过游戏
现在有RMMV了,有点小问题
我想移植我之前做的U3D游戏,到这里,脚本方面无从下手,因为完全不会JS
比如,我在U3D 做的游戏,有个熟练度系统,

     public partial class Form1 : Form
    {
        public int 剑熟练度 = 0;
        public bool 是否装备剑 = false;
        public int 剑等级 = 0;
        public void man()
        {
            if (是否装备剑)
            {
                if (剑熟练度 >= 100)
                {
                    剑等级 += 1;
                    剑熟练度 = 0;
                }

            }

        }

    }

如果用JS写,这一段要怎么写?在游戏中,又通过什么方法来访问这个脚本,获取和修改里面的变量?
比如访问这个脚本里面的 剑熟练度 变量,在每次战斗结束,增加一定的数值?

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
2
发表于 2015-10-29 00:42:43 | 只看该作者
  1. function Form1(){
  2.     this.剑熟练度 = 0;
  3.     this.是否装备剑 = false;
  4.     this.剑等级 = 0;
  5. }
  6. Form1.prototype = Object.create(Form.prototype); // 继承父类
  7. Form1.prototype.man = function(){
  8.     if(this.是否装备剑 && this.剑熟练度 >= 100){ // 没必要写成两次if
  9.         this.剑等级 += 1;
  10.         this.剑熟练度 = 0;
  11.     }
  12. }
复制代码
不确定js是否支持中文变量名

点评

C#不就是面向对象吗。。。我还是去看看JS的面向对象相关的内容把,大概的JS格式我已经知道了,谢谢大神了  发表于 2015-10-29 09:38
当然不能执行,这只是我在直翻,你必须理解面向对象程序设计  发表于 2015-10-29 09:17
还有,Form1.prototype.man 这一段,在游戏中,怎么执行?  发表于 2015-10-29 08:46
先谢谢大神了, 这个 this.剑熟练度 就可以公开声明一个变量了吗? this不是代表这个脚本里面的变量吗?这样声明的变量其它脚本可以正常访问吗?  发表于 2015-10-29 08:46

评分

参与人数 1星屑 +266 收起 理由
余烬之中 + 266 先谢谢大神了

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2010-12-31
帖子
66
3
发表于 2015-10-29 09:44:59 手机端发表。 | 只看该作者
form1第一个字母是不是规定小写?中文变量名不行。
来自: Android客户端

点评

没测试就不要误导..这次不扣你分..  发表于 2015-11-24 13:40
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2010-12-31
帖子
66
4
发表于 2015-10-29 09:56:07 手机端发表。 | 只看该作者
这里好像不需要继承方法,另外继承方法的写法是不是 form1.prototype=new form;我的理解是,有一个变量,man。可以,用构造函数构造一个。他有三个属性,我也不太清楚或者说不懂,刚学还望赐教
来自: Android客户端
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
5
发表于 2015-10-29 11:54:28 手机端发表。 | 只看该作者
英顺的马甲 发表于 2015-10-29 00:42
不确定js是否支持中文变量名

已测试,支持。
(至少在支持中文字符的电脑上支持)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2010-12-31
帖子
66
6
发表于 2015-10-29 12:17:04 | 只看该作者
Window_Base.prototype = new Window;
Window_Base.prototype = Object.create(Window.prototype);
已测试这两种写法都是可以的

点评

其实推荐用第二种写法 因为如果考虑到带参数的构造函数第一种很麻烦  发表于 2015-11-24 13:39
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-9 22:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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