- UID
- 3
- 帖子
- 924
- 主题
- 28
- 精华
- 5
- 积分
- 5325
- 历练
- 10
- 声望
- 119
- 人气
- 141
- 经验
- 2790
- 金钱
- 6124
- 注册时间
- 2009-7-25
- 最后登录
- 2017-9-6
- 在线时间
- 376 小时
- 阅读权限
- 200

TA的每日心情 | 衰 2010-9-25 00:07 |
---|
签到天数: 3 天 [LV.2]偶尔看看I - 精华
- 5
- 积分
- 5325
- 历练
- 10
- 声望
- 119
- 人气
- 141
|
我来对号入座吧~
1.常用关键字有哪些
module 模块
RUBY有一些面向切面的编程思想在里面,所以采用了模块组装类的总体思想,当然你不用切面编程就拉倒了,模块的出现,让多继承流用起来得心应手(也是因为ruby木有接口- -)
class 类
ruby描述对象的关键字,基本概念依然是封装继承多态,只是访问修饰符比较个性,可以看看game类的算法
def 函数定义关键字
ruby的函数定义很随意的 可以 def a(a,b)也可以def a a,b当然这种随意也导致代码很凌乱,不过默认的都还好,我当时看前辈们的win32AP的调用方法,连括号都找不到,我以为这个类有什么特别的地方,结果只是函数定义的随意性上- -囧……
还有稍微提一下的就是initialize是类的构造函数,和一般的编程语言的够咱函数差异很大- -,当然构造函数还是无法继承,无返回值。
还有些符号的关键字
::由于ruby没有静态变量,那么可以直接用::访问其他模块的变量-v-……(据说内存很容易报错……很少用)
...和..这么个货算是ruby很个性的符号了,主要用于循环 for i in 0..10表示0~10 for i in 0...10
表示0~9
其余的符号,都和别的差不多~ 什么 + - * / = ()神马 || && and or当然要注意一下,and or的优先级比||&&要低
然后条件语句
if (条件)...end
if (条件)
内容(喵了个咪)
else if(条件)
.....
else
end
case(变量)
when 条件1
内容1
when 条件2
内容2
else
内容3
end
循环结构
for i in x...y
内容
end
也可以
@act = [1,2,3,4,5]
for i in @act
内容(当然@act数组内可以全部储存对象~如果是对象i就可以是对应数组编号的实例化对象了- -很好用)
end
当然还有while和loop do形式的,我就不多说了,想你应该明白
2.变量的定义方法有哪些
首先ruby对于内存的划分没有静态区域,所以ruby出现了一种叫做权限修饰符的东西(自己取的名字)
$代表全部变量(仅在同一模块中),寿命到模块被消亡截止
@代表默认,可以在同一个类中随意使用,也就寿命存活时间是该对象消亡的时间
@@零时变量,只能在同一个方法中使用,方法结束,寿命消亡。
访问修饰符
attr_reader 只读
attr_write 只写
attr_accessor 可读可写
具体使用方法参看game算法类
变量的具体定义
ruby是纯面向对象语言,根本木有基本数据类型,数据类型全部都是引用类型,都是包装类的形式
比如 @a = 11 定义出来是个int
@a = 11.to_s定义出来就是个string
栈区全部都是类似0x0001的堆区指向性内存地址,堆区里面才村的是数据,所以金山游侠一类只能搜索栈区内存的游戏修改器根本改不了RM的游戏- -
3.编写方法
VB和RUBY倒是有些相似的地方,比如语法,但是vb就编程思想上比ruby落后了至少30年,那时候估计还不知道面向切面是个什么货吧。变量的定义、方法,类都有很多差异,你可以带着过去的经验来,但是万不可混为一谈
4.定义的变量和游戏内的坐标都有哪些联系?
游戏内的坐标存在一个相对坐标和绝对坐标的问题
绝对坐标又是通过相对坐标*128得到的,这一部分的坐标都是在Game_Character 1定义的
使用这种算法,也是为了人物行走可以精确的走出来“一格”
同时也是为了屏幕滚动算法简介
关于学习的书籍嘛- -……我真的觉得这种木有什么难度的弱语言不需要什么书籍,倒是NetBeans中有jruby的平台,也就是说,可以用java做底层,ruby做嵌套脚本,这样才能所有成就啊…… |
-
1
查看全部评分
-
|