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

Project1

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

[已经过期] 学RGSS买了C++的书行么?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
帖子
2394
跳转到指定楼层
发表于 2013-7-4 19:27:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
想学脚本就买了本C++的书……不知道行不行…………

坑的进度如上                                                                                                        点击↑

Lv3.寻梦者

梦石
0
星屑
4529
在线时间
2260 小时
注册时间
2008-1-28
帖子
3193

开拓者

18
发表于 2013-7-30 10:39:08 | 只看该作者
如果你要c++的书窝可以送给你(差不多学校里别的语言的书籍的两倍这么厚)
指针很痛苦啊。
c++掺杂了许多东西。窝看过一个微博,貌似c++是20个模块,ruby是12个。(很久以前的,不太记得了)
所以学出来差不多无敌了吧。
[pmshow=23,31925]阿柏蛇[/pmshow]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
45
在线时间
64 小时
注册时间
2013-7-29
帖子
48
17
发表于 2013-7-30 10:15:24 | 只看该作者
……表示不懂神马是C++
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2013-2-8
帖子
424
16
发表于 2013-7-30 00:32:49 手机端发表。 | 只看该作者
不行,必须买汇编的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
15
发表于 2013-7-29 21:50:41 | 只看该作者
我说...C++和Ruby是两个语言...
黄濑可以去学学Visual Basic,然后去看看Lua、C、C++、Java这些(难度高...至今看不懂)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
297 小时
注册时间
2007-5-21
帖子
139
14
发表于 2013-7-29 21:36:10 | 只看该作者
学了c++后就直接用引擎,你会发现没有你实现不了的东西
回复 支持 反对

使用道具 举报

Lv3.寻梦者

唯一的信徒

梦石
0
星屑
1697
在线时间
1359 小时
注册时间
2013-1-29
帖子
1640
13
发表于 2013-7-29 19:51:12 | 只看该作者
Shy07 发表于 2013-7-5 00:07
举个例子:
@command_window.set_handler(:new_game, method(:command_new_game))
    @command_window.s ...

于是乎对于这些问题我也有我的一些无聊的见解。。。。

首先第一个想到的是yield self方法,在对象initialize的时候yield self if block_given? 貌似可以比较省事的说
RUBY 代码复制
  1. @sprite=Sprite.new do |s|
  2.   s.x=1
  3.   s.y=1
  4.   s.z=1
  5.   s.bitmap=xxx
  6. end



之后呢自己以前也写了一个比较无聊的东西,让这件事情能稍微解决一下
RUBY 代码复制
  1. class Plane
  2.   alias lbq_init_plane initialize
  3.   def initialize(vp=nil)
  4.     lbq_init_plane(vp)
  5.  
  6.       if block_given?
  7.         hash=yield
  8.         hash.each do |index,value|
  9.           if index==:belongs_to
  10.             value << self
  11.           else
  12.             eval("self.#{index.to_s}=value")
  13.           end
  14.  
  15.         end
  16.       end
  17.     end
  18. end


这样的话貌似新建一个plane的时候就可以。。。


RUBY 代码复制
  1. @bg_sprites=[]
  2.  
  3. Plane.new do
  4. {
  5.     opacity: 200, bitmap: Cache.system("Menu_Fog1"),
  6.     belongs_to: @bg_sprites
  7.   }
  8. end


当然这是个个人的见解,大触们一定能想到更好的方法的OTL

点评

ruby 1.9 用了 YARV 之后,eval 我是能不用尽量不用,性能太伤  发表于 2013-7-29 23:02
我用的是 ruby 2.0,有关键字参数可以用,没必要用块,而且块的表达也不如关键词参数简练  发表于 2013-7-29 22:59
『我只是一个正在潜心修炼的渣乐师罢了』
Dear Time\(^o^)/~


假如上面的图片挂了的话麻烦各位去发个帖 @ 一下 orzFly 让他修复 deartime
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3886
在线时间
1972 小时
注册时间
2013-1-3
帖子
9536
12
发表于 2013-7-29 19:45:10 | 只看该作者
觉得不行吧,不过学C++也很好…
再学习ruby
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv3.寻梦者

唯一的信徒

梦石
0
星屑
1697
在线时间
1359 小时
注册时间
2013-1-29
帖子
1640
11
发表于 2013-7-29 19:44:22 | 只看该作者
理论上可以问题是怎么感觉应该先学ruby再学c++...
毕竟ruby和C++还是有很多不同的=-=
『我只是一个正在潜心修炼的渣乐师罢了』
Dear Time\(^o^)/~


假如上面的图片挂了的话麻烦各位去发个帖 @ 一下 orzFly 让他修复 deartime
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
191
在线时间
835 小时
注册时间
2012-9-16
帖子
1811
10
发表于 2013-7-29 19:42:04 | 只看该作者
自学自己琢磨脚本的孩纸路过~

——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
帖子
313
9
发表于 2013-7-5 00:07:23 | 只看该作者
DeathKing 发表于 2013-7-4 23:14
我现在读的工地大学就是成天杂事多,写URG3我都得挤时间……这不,又遇上考试周了。 ...

举个例子:
RUBY 代码复制
  1. @command_window.set_handler(:new_game, method(:command_new_game))
  2.     @command_window.set_handler(:continue, method(:command_continue))
  3.     @command_window.set_handler(:shutdown, method(:command_shutdown))

太特么的 NC 了,没完没了地重复形式,完全可以设计一个方法来简化掉
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # * Create Command Window
  3.   #--------------------------------------------------------------------------
  4.   def create_command_window
  5.     @command_window = Window_TitleCommand.new
  6.     set_command_window_handlers [
  7.       [:new_game, method(:command_new_game)],
  8.       [:continue, method(:command_continue)],
  9.       [:shutdown, method(:command_shutdown)]
  10.     ]
  11.   end
  12.   def set_command_window_handlers(pairs)
  13.     pairs.each do |pair|
  14.       @command_window.set_handler(*pair)
  15.     end
  16.   end

这还不算最优方案,但是 RGSS 这种浪费在重复不必要的输入上太多了
RUBY 代码复制
  1. rect = Rect.new(20, 30, 140, 32)
  2. bitmap = Bitmap.new(rect.width, rect.height)
  3. sprite = Sprite.new
  4. sprite.x = rect.x
  5. sprite.y = rect.y
  6. sprite.bitmap = bitmap

像这样生成一个实例马上 balabala 一堆属性,这你能忍?完全可以设计一个关键字参数的初始化方法嘛
RUBY 代码复制
  1. rect = Rect.new(20, 30, 140, 32)
  2. bitmap = Bitmap.new(rect.width, rect.height)
  3. sprite = Sprite.new bitmap: bitmap, x: rect.x, y: rect.y

Rect 也可以设计一个 spot 用来得到 xy,aspect 得到 width 和 height
RUBY 代码复制
  1. rect = Rect.new(20, 30, 140, 32)
  2. bitmap = Bitmap.new(*rect.aspect)
  3. sprite = Sprite.new bitmap: bitmap, location: rect.spot

RGSS 里这种成对属性分开设置的地方实在太多了
愿善用者善用之
https://github.com/Shy07/SINRGE2
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-9-12 23:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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