CoRサンプル集: CoRサンプル - ジャンプアクションゲーム基本形
マップエディタで作ったマップを読み込んで、アクションゲームを作るサンプルの基本形です。
左上の爺さんに触れるとクリアします。
■ 操作方法
カーソルキー(→←)で動き回ることができ、zキーでジャンプすることができます。
左上の爺さんに触れるとクリアします。
■ 操作方法
カーソルキー(→←)で動き回ることができ、zキーでジャンプすることができます。
プレー:131
(人数:61)
クリア:38
評価: 10 (1回)
scene 'start' do
map_layer_01 = nil
map_layer_02 = nil
player_layer = nil
player_sprite = nil
jijii_sprite = nil
speed = 3
jump_frame = 0
preload do
debug_log 'CoRからRPGマップを読み込むテスト'
# マップデータの読込
rmake_map 'my_map', id: 42641
# キャラ画像の読み込み
image 'chara_00', id: 315474, frame_size: [32, 32]
image 'chara_jijii_image', id: 316078, frame_size: [32, 32]
end
create do
# マップの配置
map = put_map 'my_map'
# レイヤーの生成
# マップのレイヤー0を追加
map_layer_01 = add_map_layer
# マップのレイヤー1を追加
map_layer_02 = add_map_layer
# キャラクタのレイヤーを追加
player_layer = add_layer
character_layer = add_layer
# 操作キャラクタの追加
player_sprite = put_sprite 'chara' do
position 400, 300
frame_index 0
end
# レイヤーに追加
player_layer.add player_sprite
# キャラクタに重力を追加する
player_sprite.gravity(nil, 6)
# 世界の端に到着するとそれ以上進めなくなる
player_sprite.collide_world!
# このキャラの動きにカメラがついていく
player_sprite.camera_target!
# downアニメーションの開始
player_sprite.start_animation('down')
# 爺さんキャラクタの追加
jijii_sprite = put_sprite 'chara_jijii' do
position 32*28, 32*2
frame_index 0
end
jijii_sprite.gravity(nil, 6)
jijii_sprite.collide_world!
jijii_sprite.start_animation('down')
jijii_sprite.movable false
player_layer.add jijii_sprite
end
update do
# キャラクタとマップの当たり判定処理
collision player_layer, map_layer_01
collision player_layer, map_layer_02
# プレイヤーと爺さんの当たり判定
collision player_sprite, jijii_sprite do
game_clear
end
velocity_x, velocity_y = player_sprite.velocity
# キャラクタの速度を(x)=(0)にする
player_sprite.velocity 0, nil
# キーボード操作
if keyboard.down?('LEFT')
player_sprite.velocity -speed, nil
player_sprite.start_animation('left')
end
if keyboard.down?('RIGHT')
player_sprite.velocity speed, nil
player_sprite.start_animation('right')
end
if keyboard.down?('Z') && jump_frame == 0
# ジャンプ
player_sprite.velocity 0, -4
# 一度ジャンプすると80フレームの間、ジャンプすることができない
jump_frame = 80
end
if jump_frame > 0
jump_frame -= 1
end
end
end
# キャラクタの定義
sprite 'chara' do
image 'chara_00'
origin :center
animation 'up', [6, 7], 10, true
animation 'down', [0, 1], 10, true
animation 'left', [2, 3], 10, true
animation 'right', [4, 5], 10, true
end
sprite 'chara_jijii' do
image 'chara_jijii_image'
origin :center
animation 'up', [6, 7], 10, true
animation 'down', [0, 1], 10, true
animation 'left', [2, 3], 10, true
animation 'right', [4, 5], 10, true
end
start_scene "start"
コード一覧
- start.rb
プレー内容を公開する
プレー履歴
プレー履歴はありません。
新着レビュー
レビューはまだ投稿されていません。 作品の感想を作者に伝えるためにレビューを投稿してみませんか?
フォロー/シェア
現象を確認し、修正しました。
放置した後もキー操作できました(^^)