[#48952] FreeBSD9.0でruby-1.8.7, rubygems-1.8.24シリアライズ評価 — Fumiaki Sakamoto <ua6ta6@...>
いつもお世話になっております。
9 messages
2012/09/16
[#48954] Re: FreeBSD9.0でruby-1.8.7, rubygems-1.8.24シリアライズ評価
— Takahiro Kambe <taca@...>
2012/09/16
おはおうございます。
[#48955] Re: FreeBSD9.0でruby-1.8.7, rubygems-1.8.24シリアライズ評価
— Fumiaki Sakamoto <ua6ta6@...>
2012/09/17
sora_hさま、Kanbeさま、本当にありがとうございます。
[#48956] Re: FreeBSD9.0でruby-1.8.7, rubygems-1.8.24シリアライズ評価
— Takahiro Kambe <taca@...>
2012/09/17
In message <5056796B.9040604@bma.biglobe.ne.jp>
[ruby-list:48961] 別ファイルのクラス内メソッドから戻り値を得たい
From:
konoki-nannoki-ggrks.mp4@...
Date:
2012-09-19 04:27:49 UTC
List:
ruby-list #48961
※色々削っているのでおかしなところがあるかもしれません。
#! ruby -Ks
require 'dxruby'
require 'scene'
require_relative '00shop_status'
require_relative '01shop_etc'
require_relative '00drawint'
class Main_loop_s < Scene::Base
def init
@@flame = 0
@@flame_s = 0
@window = Window_test.new
@s_etc = Shop_etc.new
@ss = Shop_Status.new
@interia = Interia.new
@interia.Ini()
@interia.Test_all_ini()
end
def update
#秒をはかる
if @@flame == 60
@@flame = 1
@@flame_s += 1
else
@@flame += 1
end
#01shop_etcの計算
@s_etc.Calc_s(@@flame)
end
def render
#★
if @s_etc.Calc_s(@@flame) == 0
@interia.Rende_interia()
end
@s_etc.Render_s()
end
def quit
end
end
Scene.main_loop Main_loop_s, 60, 1
こんにちは。
多分Rubyやライブラリではなく基本的な文法の問題だと思うのですが、よろしければご指導ください。
#★ の一行したの部分で、01shop_etc.rbの"Calc_s"というメソッドから戻り値を得たいと思っています。(このファイルは00main.rb)
しかしこのように書くと、01shop_etc.rbの挙動がおかしくなってしまいます。
どうおかしいかと言うと、動作が2倍速くらいになっていたり、一つの処理を2回繰り返し(ているように見え)てしまったります。
戻り値の得方が間違っているのでしょうか?正しい書き方があれば教えてください
ちなみに、@foo = @s_etc.Calc_s(@@flame)としておいてifの条件に@foo == 0 とするのはやってみました。