CoR自分用まとめ

投稿者:User icon mini @hatsukiri 投稿日:2014/08/13 16:49

既に二、三度ほど挫折したCoRの自分用まとめ。
一時期App Inventor2に浮気してたけど、ゲームを作れるような環境じゃなかったから帰還。
(スプライトを表示する分だけあらかじめ手動で登録したりとか。10何枚なら根性でどうにかなるけど...)
(ただ、TextToSpeech(文章の自動読み上げ機能)はお気に入り。)

#画像のロード(全体で使用可能)
game.loading do |loader|
  
  #↓:systemって所にあるwindowって画像に:windowって名前を付ける?
  loader.add(:window,   :system => "window")

  #↓これも:systemのgui_itemって画像に名前を付けてる?
  loader.add(:gui_item, :system => "gui_item")
  
  #.add(:画像名, 画像ID or XXX.png)
  loader.add(:back_image, 335)
end



#開始スクリプト的な? initialize=初期化
game.on_init do
  # set_window_image(X) speakの枠の画像を設定。ここでは上で設定した:windowを設定
  set_window_image(:window)

  # set_gui_image(X) ようわからん
  set_gui_image(:gui_item)
  
  # scene_change(シーン) シーンの移動 RmakeでいうchangeScene()
  scene_change(:start_scene)
end



#シーンを作成
scene :start_scene do |scene|
  #画像のロード(このシーン内でのみ使用可能)
  scene.loading do
  end
  
  #シーン本体
  scene.on_init do
    #このシーンに画像を追加する
    sprite=scene.add(:image, :template        => :back, 
                             :center_offset   => [16*5, 16*5], 
                             :center_position => [screen_width()/2, screen_height()/2],
                             :rotation        => 3.14159265358979,
                             :color           => [255,0,0,128])
/*
    それぞれの引数について
      第一引数(:image)
        これは画像ですよーってこと?
      第二引数(:template)
        画像に下の方で設定した:backを適用
      第三引数(:center_offset)
        画像の中心の座標を[x,y]=[16*5, 16*5]に設定
      第四引数(:center_position)
        下のdef文を使って画像の中心を真ん中([x,y]=[幅/2,高さ/2])に設定
      第五引数(:rotation)
        画像の回転を180度(πrad)に設定
      第五引数(:color)
        画像の色味を赤っぽく([赤,緑,青, 不透明度]=[255,0,0, 128])設定
    第一引数は別として(?)他の引数は順番関係なし。:(設定したいもの) => (値)の形で。
    (値)に複数の値が必要な時(xyとかRGBとか)には配列[]を使う

    左辺のspriteを使って書き換え。後で変更する時に便利?
      :center_position
        sprite.set_center_position(screen_width()/2, screen_height()/2)
      :rotation
        sprite.set_rotation(3.14159265358979)
      :color
        sprite.set_color(255, 255, 255, 255)
    こっちでは引数が決まってるから配列[]は必要なし
*/
    
    speak("Hello CoR World!!")
    
    #現段階でのゲーム終了
    game.change_project("start_menu")
  end
end



# 画面の幅を取得
def screen_width()
  return game.get_screen_size[0]
end


# 画面の高さを取得
def screen_height()
  return game.get_screen_size[1]
end



# 上の:templateに設定する:backを作成
sprite_template(:back) do |st| #:backっていうスプライトを作成。st=:backとおく?
  st.texture(:back_image)   #画像に:back_imageを設定
  st.src_size(32*5, 32*5)   #画像のコピー元矩形 RmakeでいうsetSpriteRect(no, x,y,W,H, x,y,w,h)?
  st.dest_size(32*5, 32*5)  #画像のコピー先矩形 RmakeでいうsetSpriteRect(no, x,y,w,h, x,y,W,H)?
 #st.copy_rect(xxx)         #setSpriteRect(no, X,Y,w,h, x,y,w,h)??
end




各種コメント方法
#行コメント(紫)

/* ブロックコメント(青)@動作せず? */

// 行コメント?(青)@動作せず

=begin
>>EOS的な?@動作せず
=end

うーん、AndroidでもPCでも"動く"けどボタン類のレイアウトの問題とかバイブとかの機能の問題が大変..
救済措置をとると2回弱コード書かないと。2作作るよりは楽だけど移植は大変そう。





※理解用なのでError吐かれます。

game :start_game do |game|
  game.loading do |loader|
    #ゲーム全体で使う素材を読み込みます。枠とかもここで
    loader.add(:window, :system => "window")
    loader.add(:gui_item, :system => "gui_iten")
  end
  
  game.on_init do
    #枠を設定します。
    set_window_image(:window)
    set_gui_image(:gui_item)
    
    #シーンの変更をします。
    scene_change(:start_scene)
  end
  
  
  scene :start_scene do |scene|
    scene.loading do
    #このシーンでのみ使う素材を読み込みます。イベント用とか
    end
    
    scene.on_init do
      #ここにシーンの中身を書き込む。
      speak("HELLO")
      
      #スタートメニューに移動≒ゲームを終了
      game.change_project("start_menu")
    end
  end
end

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。