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

Project1

 找回密码
 注册会员
搜索
楼主: zh99998
打印 上一主题 下一主题

[原创发布] OpenRGSS Project (预览版已可用,求人填坑)

  [复制链接]

Lv1.梦旅人 (暗夜天使)

永夜蟄居の玖瀨

梦石
0
星屑
71
在线时间
1018 小时
注册时间
2011-9-5
帖子
2813

开拓者贵宾

11
发表于 2012-9-13 23:12:02 | 只看该作者
这个是什么我看不懂……

点评

+1  发表于 2012-9-14 12:58

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8090
在线时间
7346 小时
注册时间
2010-7-16
帖子
4915

开拓者

12
发表于 2012-9-14 06:38:59 | 只看该作者
不太懂ruby,不过用c++写一些关键函数的话效率是不是能高一些?

点评

初代RGSS尽可能的不提供独有功能,只是解决RGSS的脑残问题。 寻路什么的是脚本上的事,跟下层引擎无关。  发表于 2012-9-14 10:51
在RGSS里写过寻路,感觉效率完全没问题。好吧可能只是因为走的范围小囧  发表于 2012-9-14 10:12
现在rm效率的瓶颈就在map.update吧,但那个要是用c写了又不知道用户该怎样插入自己的ruby脚本。  发表于 2012-9-14 07:42
我想的还包括寻路函数一类的,不过那些就算是现在的rgss也没有。  发表于 2012-9-14 07:42
OpenRGSS初代用纯Ruby的...初代比起执行效率,开发效率更要紧。还有平台兼容性啥的 可能你想象中的 关键函数 是指绘图之类的吧 那些是SDL实现的,是C  发表于 2012-9-14 07:17
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

13
发表于 2012-9-14 12:25:40 | 只看该作者
    registry.open('Software\Enterbrain\RGSS\RTP' + $RGSS_VERSION.to_s) do |reg|

=>

    registry.open('Software\Enterbrain\RGSS3'+$RGSS_VERSION.to_s+'\RTP') do |reg|

点评

还有字体。。  发表于 2012-9-14 12:28
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
帖子
313
14
发表于 2012-9-14 12:58:11 | 只看该作者
  1. #------------------------------------------------------------------------------
  2. # SDL_RSGE
  3. #------------------------------------------------------------------------------
  4. # SDL_RSGE 库,是针对 RSGE 标准库的 Ruby/SDL 库二次封装。
  5. #------------------------------------------------------------------------------

  6. module SDL_RSGE
  7.   #----------------------------------------------------------------------------
  8.   # ● 引用库
  9.   #----------------------------------------------------------------------------
  10.   require 'sdl'
  11.   require 'win32api'
  12.   #----------------------------------------------------------------------------
  13.   # ● 全局变量
  14.   #----------------------------------------------------------------------------
  15.   $SDL_title = "Untitled"
  16.   $SDL_width = 640
  17.   $SDL_height = 480
  18.   $SDL_frame_rate = 60
  19.   $SDL_frame_count = 0
  20.   $SDL_brightness = 255
  21.   $SDL_X_Adjust = 3
  22.   $SDL_Y_Adjust = 14
  23.   #----------------------------------------------------------------------------
  24.   # SDL_RSGE::Input
  25.   #----------------------------------------------------------------------------
  26.   # 管理键盘输入的模块。
  27.   #----------------------------------------------------------------------------
  28.   module Input
  29.     def update
  30.       SDL::Key.scan
  31.     end

  32.     def press?(num)
  33.       return SDL::Key.press?(num)
  34.     end

  35.     def trigger?(num)
  36.       return SDL::Key.press?(num)
  37.     end

  38.     def repeat?(num)
  39.       return SDL::Key.press?(num)
  40.     end

  41.   end
  42.   #----------------------------------------------------------------------------
  43.   # SDL_RSGE::FPS_Timer
  44.   #----------------------------------------------------------------------------
  45.   # 实现帧数控制及计时器的类。
  46.   #----------------------------------------------------------------------------
  47.   class FPS_Timer
  48.     #----------------------------------------------------------------------------
  49.     # ● 常量
  50.     #----------------------------------------------------------------------------
  51.     FPS_COUNT = 10
  52.     #--------------------------------------------------------------------------
  53.     # ● 实例变量
  54.     #--------------------------------------------------------------------------
  55.     attr_accessor :fps
  56.     attr_reader   :real_fps
  57.     attr_reader   :total_skip
  58.     attr_reader   :count_sleep
  59.     #--------------------------------------------------------------------------
  60.     # ● 初始化对像
  61.     #--------------------------------------------------------------------------
  62.     def initialize(fps = 60, accurary = 10, skip_limit = 15)
  63.       @fps = fps
  64.       @accurary = accurary / 1000.0
  65.       @skip_limit = skip_limit
  66.     end
  67.     #--------------------------------------------------------------------------
  68.     # ● 重置
  69.     #--------------------------------------------------------------------------
  70.     def reset
  71.       @old = get_ticks
  72.       @skip = 0
  73.       @real_fps = @fps
  74.       @frame_count = 0
  75.       @fps_old = @old
  76.       @count_sleep = 0
  77.       @total_skip = 0
  78.     end
  79.     #--------------------------------------------------------------------------
  80.     # ● 等待帧
  81.     #--------------------------------------------------------------------------
  82.     def wait_frame
  83.       now = get_ticks
  84.       nxt = @old + (1.0 / @fps)
  85.       if nxt > now or @skip > @skip_limit
  86.         yield
  87.         @skip = 0
  88.         delay(nxt)
  89.         @old = nxt
  90.       else
  91.         @skip += 1
  92.         @total_skip += 1
  93.         @old = get_ticks
  94.       end
  95.       calc_real_fps
  96.     end
  97.     #--------------------------------------------------------------------------
  98.     # ● 私有方法
  99.     #--------------------------------------------------------------------------
  100.     private
  101.     #--------------------------------------------------------------------------
  102.     # ● 等待 nxt 指定的毫秒数
  103.     #--------------------------------------------------------------------------
  104.     def delay(nxt)
  105.       while nxt > get_ticks + @accurary
  106.         sleep(@accurary - 0.005)
  107.         @count_sleep += 1
  108.       end
  109.       while nxt > get_ticks
  110.         # 循环超时,无操作
  111.       end
  112.     end
  113.     #--------------------------------------------------------------------------
  114.     # ● 获取当前毫秒数
  115.     #--------------------------------------------------------------------------
  116.     def get_ticks
  117.       SDL.get_ticks / 1000.0
  118.     end
  119.     #--------------------------------------------------------------------------
  120.     # ● 计算实际FPS
  121.     #--------------------------------------------------------------------------
  122.     def calc_real_fps
  123.       @frame_count += 1
  124.       if @frame_count >= FPS_COUNT
  125.         @frame_count = 0
  126.         now = get_ticks
  127.         @real_fps = FPS_COUNT / (now - @fps_old)
  128.         @fps_old = now
  129.       end
  130.     end
  131.   end
  132.   #----------------------------------------------------------------------------
  133.   # SDL_RSGE::SDL_Frame
  134.   #----------------------------------------------------------------------------
  135.   # 生成游戏主窗口的类。
  136.   #----------------------------------------------------------------------------
  137.   class SDL_Frame
  138.     #--------------------------------------------------------------------------
  139.     # ● 类变量
  140.     #--------------------------------------------------------------------------
  141.     @@GetSMetrics  = Win32API.new('user32', 'GetSystemMetrics', 'l', 'i')
  142.     @@FindWindow   = Win32API.new('user32', 'FindWindow', 'pp', 'i')
  143.     @@SetWindowPos = Win32API.new('user32', 'SetWindowPos', 'lllllll', 'i')
  144.     #--------------------------------------------------------------------------
  145.     # ● 初始化对象
  146.     #--------------------------------------------------------------------------
  147.     def initialize
  148.       @screen_width  = @@GetSMetrics.call(0)
  149.       @screen_height = @@GetSMetrics.call(1)
  150.       SDL.init(SDL::INIT_VIDEO)
  151.       SDL::WM::set_caption($SDL_title, $0)
  152.       @hwnd = @@FindWindow.call(0, $SDL_title.encode($RSGE_System_Encode))
  153.       x = (@screen_width  - $SDL_width ) / 2 - $SDL_X_Adjust
  154.       y = (@screen_height - $SDL_height) / 2 - $SDL_Y_Adjust
  155.       @@SetWindowPos.call(@hwnd, 0, x, y, 0, 0, 0)
  156.       $SDL_Screen = SDL_Screen.new
  157.       SDL::Mouse.hide if $SDL_hide_mouse
  158.       SDL::TTF.init
  159.     end
  160.   end
  161.   #----------------------------------------------------------------------------
  162.   # SDL_RSGE::SDL_Screen
  163.   #----------------------------------------------------------------------------
  164.   # 生成游戏主画面的类。
  165.   #----------------------------------------------------------------------------
  166.   class SDL_Screen
  167.     #--------------------------------------------------------------------------
  168.     # ● 类变量
  169.     #--------------------------------------------------------------------------
  170.     @@fps_timer = FPS_Timer.new($SDL_frame_rate)
  171.     #--------------------------------------------------------------------------
  172.     # ● 实例变量
  173.     #--------------------------------------------------------------------------
  174.     attr_accessor :screen
  175.     #--------------------------------------------------------------------------
  176.     # ● 初始化对象
  177.     #--------------------------------------------------------------------------
  178.     def initialize
  179.       flag = SDL::SWSURFACE
  180.       @screen = SDL::Screen.open($SDL_width, $SDL_height, 32, flag)
  181.       @screen.flip
  182.       @@fps_timer.reset
  183.       SDL::TTF.init
  184.       @font = SDL::TTF.open('simhei.ttf',18)
  185.       @font.style = SDL::TTF::STYLE_NORMAL
  186.       @sprites = []
  187.     end
  188.     #--------------------------------------------------------------------------
  189.     # ● 刷新画面
  190.     #--------------------------------------------------------------------------
  191.     def update
  192.       @@fps_timer.wait_frame do
  193.         @sprites.each { |sprite_z|
  194.           sprite_z.each { |sprite|
  195.             sprite.update unless sprite.updated
  196.             sprite.updated = true
  197.           }
  198.         }
  199.         @font.draw_blended_utf8(@screen,@@fps_timer.real_fps.round.to_s,0,0,255,255,255)
  200.         @screen.flip
  201.       end
  202.       @screen.fill_rect(0, 0, $SDL_width, $SDL_height, [0, 0, 0])
  203.     end
  204.     #--------------------------------------------------------------------------
  205.     # ●
  206.     #--------------------------------------------------------------------------
  207.     def add_sprite(sprite)
  208.       if @sprites[sprite.z] == nil
  209.         @sprites[sprite.z] = Array.new
  210.       end
  211.       @sprites[sprite.z] << sprite
  212.     end
  213.     #--------------------------------------------------------------------------
  214.     # ●
  215.     #--------------------------------------------------------------------------
  216.     def format
  217.       return @screen.format
  218.     end
  219.   end
  220.   #----------------------------------------------------------------------------
  221.   # RSGE::Bitmap
  222.   #----------------------------------------------------------------------------
  223.   # 位图的类。位图就是所谓的“图像”。
  224.   # 在画面上显示位图,必须使用精灵(Sprite 精灵类)之类的对象。
  225.   #----------------------------------------------------------------------------
  226.   class Bitmap
  227.     #--------------------------------------------------------------------------
  228.     # ● 定义实例变量
  229.     #--------------------------------------------------------------------------
  230.     attr_reader   :layer_info
  231.     #--------------------------------------------------------------------------
  232.     # ● 初始化对像
  233.     #--------------------------------------------------------------------------
  234.     def initialize(*args)
  235.       @layer_info  = []
  236.       @temp_bitmap = []
  237.       @format = $SDL_Screen.format
  238.       if args.size == 1
  239.         @surface = SDL::Surface.load(args[0])
  240.       elsif args.size == 2
  241.         @surface = SDL::Surface.new(SDL::SRCALPHA, args[0], args[1], @format)
  242.       else
  243.         p "参数错误".encode($RSGE_System_Encode)
  244.       end
  245.       @surface.display_format_alpha
  246.       @layer_info << [:nil, @surface]
  247.       @width  = @surface.w
  248.       @height = @surface.h
  249.     end
  250.     #--------------------------------------------------------------------------
  251.     # ● 释放位图。若是已经若显示端口已释放则什么都不做。
  252.     #--------------------------------------------------------------------------
  253.     def dispose
  254.       return if self.disposed?
  255.       @surface.destroy
  256.       @layer_info.clear
  257.       @temp_bitmap.each { |bmp| bmp.destroy }
  258.       @temp_bitmap.clear
  259.     end
  260.     #--------------------------------------------------------------------------
  261.     # ● 当位图已释放时返回 true。
  262.     #--------------------------------------------------------------------------
  263.     def disposed?
  264.       return @surface.destroyed?
  265.     end
  266.     #--------------------------------------------------------------------------
  267.     # ● 获取位图宽度。
  268.     #--------------------------------------------------------------------------
  269.     def width
  270.       return @width
  271.     end
  272.     #--------------------------------------------------------------------------
  273.     # ● 获取位图高度。
  274.     #--------------------------------------------------------------------------
  275.     def height
  276.       return @height
  277.     end
  278.     #--------------------------------------------------------------------------
  279.     # ● 获取位图矩形(Rect 矩形类)。
  280.     #--------------------------------------------------------------------------
  281.     def rect
  282.       return Rect.new(0, 0, @width, @height)
  283.     end
  284.     #--------------------------------------------------------------------------
  285.     # ● 执行从位图 src_bitmap 的矩形 src_rect(Rect 矩形类)
  286.     #  到指定的位图坐标 (x, y) 之间的区块过渡。
  287.     #--------------------------------------------------------------------------
  288.     def blt(x, y, src_bitmap, src_rect, opacity = 255)
  289.       temp_bitmap = src_bitmap.layer_info[0][1].\
  290.         copy_rect(src_rect.x, src_rect.y, src_rect.width, src_rect.height)
  291.       temp_bitmap.set_alpha(SDL::SRCALPHA, opacity)
  292.       info = [:blt, temp_bitmap, x, y]
  293.       @layer_info << info
  294.       @temp_bitmap << temp_bitmap
  295.     end
  296.     #--------------------------------------------------------------------------
  297.     # ● 执行从位图 src_bitmap 的矩形 src_rect(Rect 矩形类)
  298.     #  带指定的位图目标矩形 dest_rect(Rect 矩形类)之间的区块过渡。
  299.     #--------------------------------------------------------------------------
  300.     def stretch_blt(dest_rect, src_bitmap, src_rect, opacity = 255)
  301.       info = [:stretch_blt, dest_rect, src_bitmap, src_rect, opacity]
  302.       @layer_info << info
  303.     end
  304.     #--------------------------------------------------------------------------
  305.     # ● 将位图区域 (x, y, width, height) 或矩形(Rect 矩形类)
  306.     #  填满指定的颜色 color (Color 色彩类)。
  307.     #--------------------------------------------------------------------------
  308.     def fill_rect(*args)
  309.       if args.size == 5
  310.         x, y, width, height = args[0], args[1], args[2], args[3]
  311.         alpha = args[4].alpha
  312.         color = $SDL_Screen.format.map_rgba(args[4].red, args[4].green,
  313.           args[4].blue, args[4].alpha)
  314.       elsif args.size == 2
  315.         x, y, width, height = args[0].x, args[0].y, args[0].width, args[0].height
  316.         alpha = args[1].alpha
  317.         color = $SDL_Screen.format.map_rgba(args[1].red, args[1].green,
  318.           args[1].blue, args[1].alpha)
  319.       end
  320.       temp_bitmap = SDL::Surface.new(SDL::SRCALPHA, width, height, @format)
  321.       temp_bitmap.set_alpha(SDL::SRCALPHA, alpha)
  322.       temp_bitmap.draw_rect(0, 0, width, height, color, true, alpha)
  323.       info = [:fill_rect, temp_bitmap, x, y]
  324.       @layer_info << info
  325.       @temp_bitmap << temp_bitmap
  326.     end
  327.     #--------------------------------------------------------------------------
  328.     # ● 在位图区域 (x, y, width, height) 或矩形 rect (Rect 矩形类)中
  329.     #  描绘字符串 str 。
  330.     #--------------------------------------------------------------------------
  331.     def draw_text(*args)
  332.       if args.size >= 5
  333.         x, y, width, height = args[0], args[1], args[2], args[3]
  334.         str = args[4]
  335.         align = args[5] if args.size == 5
  336.       else
  337.         x, y, width, height = args[0].x, args[0].y, args[0].width, args[0].height
  338.         str = args[2]
  339.         align = args[3] if args.size == 3
  340.       end
  341.       temp_bitmap = SDL::Surface.new(SDL::SRCALPHA, width, height, @format)
  342.       font = SDL::TTF.open('simhei.ttf', 20)
  343.       font.style = SDL::TTF::STYLE_NORMAL
  344.       font.draw_blended_utf8(temp_bitmap, str, 0, 0, 255, 255, 255)
  345.       font.close
  346.       info = [:fill_rect, temp_bitmap, x, y]
  347.       @layer_info << info
  348.       @temp_bitmap << temp_bitmap
  349.     end
  350.   end
  351.   #----------------------------------------------------------------------------
  352.   # RSGE::Sprite
  353.   #----------------------------------------------------------------------------
  354.   # 精灵的类。精灵是在游戏画面上显示角色等的基本概念。
  355.   #----------------------------------------------------------------------------
  356.   class Sprite
  357.     attr_accessor :bitmap
  358.     attr_accessor :src_rect
  359.     attr_accessor :visible
  360.     attr_accessor :x
  361.     attr_accessor :y
  362.     attr_accessor :z
  363.     attr_accessor :updated
  364.     #--------------------------------------------------------------------------
  365.     # ● 初始化对像
  366.     #--------------------------------------------------------------------------
  367.     def initialize
  368.       @bitmap = nil
  369.       @src_rect = nil
  370.       @visible = true
  371.       @x = 0
  372.       @y = 0
  373.       @z = 0
  374.       @ox = 0
  375.       @oy = 0
  376.       @updated = false
  377.       $SDL_Screen.add_sprite(self)
  378.     end
  379.     #--------------------------------------------------------------------------
  380.     # ● 释放精灵。
  381.     #--------------------------------------------------------------------------
  382.     def dispose
  383.       @bitmap.dispose
  384.     end
  385.     #--------------------------------------------------------------------------
  386.     # ● 当精灵已释放则返回 true。
  387.     #--------------------------------------------------------------------------
  388.     def disposed?
  389.       return @bitmap.disposed?
  390.     end
  391.     #--------------------------------------------------------------------------
  392.     # ● 刷新画面
  393.     #--------------------------------------------------------------------------
  394.     def update
  395.       return if @bitmap == nil or not @visible
  396.       @bitmap.layer_info.each { |info|
  397.         case info[0]
  398.         when :nil
  399.           SDL::Surface.blit(info[1], @src_rect.x, @src_rect.y,
  400.             @src_rect.width, @src_rect.height, $SDL_Screen.screen, @x+@ox, @y+@oy)
  401.         when :blt
  402.           SDL::Surface.blit(info[1], 0, 0, @src_rect.width-info[2],
  403.             @src_rect.height-info[3], $SDL_Screen.screen, @x+@ox+info[2], @y+@oy+info[3])
  404.         when :stretch_blt
  405.           #待书写
  406.         when :fill_rect
  407.           SDL::Surface.blit(info[1], 0, 0, @src_rect.width-info[2],
  408.             @src_rect.height-info[3], $SDL_Screen.screen, @x+@ox+info[2], @y+@oy+info[3])
  409.         when :draw_text
  410.           SDL::Surface.blit(info[1], 0, 0, @src_rect.width-info[2],
  411.             @src_rect.height-info[3], $SDL_Screen.screen, @x+@ox+info[2], @y+@oy+info[3])
  412.         end
  413.       }
  414.       #------------------------------------------------------------------------
  415.       # ● 获取精灵的宽度,相当于 src_rect.width。
  416.       #------------------------------------------------------------------------
  417.       def width
  418.         return @src_rect.width
  419.       end
  420.       #------------------------------------------------------------------------
  421.       # ● 获取精灵的高度,相当于 src_rect.height。
  422.       #------------------------------------------------------------------------
  423.       def height
  424.         return @src_rect.height
  425.       end
  426.     end
  427.     #--------------------------------------------------------------------------
  428.     # ● 引用作为精灵起始点的位图(Bitmap 点阵图类)。
  429.     #--------------------------------------------------------------------------
  430.     def bitmap=(bmp)
  431.       @bitmap = bmp
  432.       @src_rect = Rect.new(0, 0, bmp.width, bmp.height)
  433.     end
  434.   end
  435.   #----------------------------------------------------------------------------
  436.   # SDL_RSGE::Color
  437.   #----------------------------------------------------------------------------
  438.   # 颜色的类。
  439.   #----------------------------------------------------------------------------
  440.   class Color
  441.     #--------------------------------------------------------------------------
  442.     # ● 定义实例变量
  443.     #--------------------------------------------------------------------------
  444.     attr_reader   :red
  445.     attr_reader   :green
  446.     attr_reader   :blue
  447.     attr_reader   :alpha
  448.     #--------------------------------------------------------------------------
  449.     # ● 初始化对像
  450.     #--------------------------------------------------------------------------
  451.     def initialize(red, green, blue, alpha = 255)
  452.       set(red, green, blue, alpha)
  453.     end
  454.     #--------------------------------------------------------------------------
  455.     # ● set
  456.     #  一次设置所有属性。
  457.     #--------------------------------------------------------------------------
  458.     def set(red, green, blue, alpha = 255)
  459.       @red   = red
  460.       @green = green
  461.       @blue  = blue
  462.       @alpha = alpha
  463.     end
  464.   end
  465.   #----------------------------------------------------------------------------
  466.   # SDL_RSGE::Rect
  467.   #----------------------------------------------------------------------------
  468.   # 矩形的类。
  469.   #----------------------------------------------------------------------------
  470.   class Rect
  471.     #--------------------------------------------------------------------------
  472.     # ● 定义实例变量
  473.     #--------------------------------------------------------------------------
  474.     attr_reader   :x
  475.     attr_reader   :y
  476.     attr_reader   :width
  477.     attr_reader   :height
  478.     #--------------------------------------------------------------------------
  479.     # ● 初始化对像
  480.     #--------------------------------------------------------------------------
  481.     def initialize(x, y, width, height)
  482.       set(x, y, width, height)
  483.     end
  484.     #--------------------------------------------------------------------------
  485.     # ● set
  486.     #  一次设置所有属性。
  487.     #--------------------------------------------------------------------------
  488.     def set(x, y, width, height)
  489.       @x = x
  490.       @y = y
  491.       @width  = width
  492.       @height = height
  493.     end
  494.   end
  495.   #----------------------------------------------------------------------------
  496.   # SDL_RSGE::Tone
  497.   #----------------------------------------------------------------------------
  498.   # 色调的类。
  499.   #----------------------------------------------------------------------------
  500.   class Tone
  501.     #--------------------------------------------------------------------------
  502.     # ● 定义实例变量
  503.     #--------------------------------------------------------------------------
  504.     attr_reader   :red
  505.     attr_reader   :green
  506.     attr_reader   :blue
  507.     attr_reader   :gray
  508.     #--------------------------------------------------------------------------
  509.     # ● 初始化对像
  510.     #--------------------------------------------------------------------------
  511.     def initialize(red, green, blue, gray = 0)
  512.       set(red, green, blue, gray)
  513.     end
  514.     #--------------------------------------------------------------------------
  515.     # ● set
  516.     #  一次设置所有属性。
  517.     #--------------------------------------------------------------------------
  518.     def set(red, green, blue, gray = 0)
  519.       @red   = red
  520.       @green = green
  521.       @blue  = blue
  522.       @alpha = gray
  523.     end
  524.   end
  525. end
复制代码
我的毕业论文其中就有一部分是用Ruby/SDL实现RGSS,可惜……那时我还年轻……

点评

to zh:挖坑弃坑再挖坑再弃坑,这就是年轻的好处啊 = =  发表于 2012-9-14 18:28
于是非常感谢=w=喵~Bitmap里似乎有宝贝~  发表于 2012-9-14 16:16
年轻?我现在还没毕业。。  发表于 2012-9-14 16:14

评分

参与人数 1星屑 +132 收起 理由
zh99998 + 132 我很赞同

查看全部评分

愿善用者善用之
https://github.com/Shy07/SINRGE2
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

15
发表于 2012-9-14 13:07:40 | 只看该作者
喵的,为啥我一上大学就忙得不可开交?

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
帖子
313
16
发表于 2012-9-14 18:16:09 | 只看该作者
如果用opengl的话可以实现alpha通道混合,不用写得这么罗嗦,但是不知道是我技术不到家还是ruby/sdl本身的问题,开了opengl之后cpu直接100% = =
另外推荐一下StarRuby,mode7实现得很不错
愿善用者善用之
https://github.com/Shy07/SINRGE2
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2012-4-30
帖子
68
17
发表于 2012-9-14 18:29:29 | 只看该作者
看起来好厉害的样子
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

18
发表于 2012-9-14 19:14:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
614
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

19
 楼主| 发表于 2012-9-14 21:03:24 | 只看该作者
#晒进度
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

20
发表于 2012-9-15 09:48:09 | 只看该作者
本帖最后由 yangff 于 2012-9-15 09:49 编辑

加强Tone合成……尼玛这fps能看?

对照组:

人家还有动画帧率这么高……SDL有缓存的画都这fps……不说什么了……
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 02:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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