CoRサンプル集: CoRサンプル - スプライトの表示領域と当たり判定の大きさ
スプライトの表示領域と当たり判定の大きさの変更に関する実験です。
- カーソルキー(↑↓→←)で動き回ることができます
- ただし、背景画像の中にある緑い色の四角の中には入れません
- 緑色の四角はデバッグ表示で、当たり判定の領域です
- SHIFT+Dを押すと、背景画像の大きさと当たり判定が小さくなります
- SHIFT+Eを押すと、背景画像の大きさと当たり判定が元に戻ります
プレー:53
(人数:24)
クリア:0
評価: 0 (0回)
scene 'start' do
bg_sprite = nil
player_sprite = nil
player_layer = nil
bg_layer = nil
speed = 3
preload do
# 画像の読込
image 'bg_00', id: 4117
image 'chara_00', id: 315474, frame_size: [32, 32]
music 'main', id: 320321
#music 'main', id: 40
end
create do
# 背景画像を配置
bg_sprite = put_sprite 'bg' do
position 400, 225
frame_index 0
end
bg_sprite.movable false
bg_layer = add_layer
bg_layer.add bg_sprite
# プレイヤーキャラクタを配置
player_sprite = put_sprite 'chara' do
position 50, 50
frame_index 0
end
player_sprite.start_animation('up')
player_layer = add_layer
player_layer.add player_sprite
music = add_music 'main'
music.play
end
update do
# 当たり判定
collision player_sprite, bg_sprite
# SHIFT+Dを押すと、背景画像の大きさと当たり判定が小さくなる
if keyboard.down_keys?('D', 'SHIFT')
bg_sprite.src_rect(0, 0, 200, 200)
bg_sprite.collision_size(100, 100)
end
# SHIFT+Eを押すと、背景画像の大きさと当たり判定がもとに戻る
if keyboard.down_keys?('E', 'SHIFT')
bg_sprite.src_rect(0, 0, 512, 384)
bg_sprite.collision_size(512, 384)
player_sprite.position 50, 50
end
# キャラクタの速度を(x, y)=(0, 0)にする
player_sprite.velocity 0, 0
# キャラクターがカーソルキーの方向に向いて、向いた方向に移動する
if keyboard.down?('LEFT')
player_sprite.velocity -speed, nil
player_sprite.start_animation('left')
end
if keyboard.down?('DOWN')
player_sprite.velocity nil, speed
player_sprite.start_animation('down')
end
if keyboard.down?('RIGHT')
player_sprite.velocity speed, nil
player_sprite.start_animation('right')
end
if keyboard.down?('UP')
player_sprite.velocity nil, -speed
player_sprite.start_animation('up')
end
end
render do
# スプライトのデバッグ情報及び、当たり判定エリアを緑色で表示する
bg_sprite.show_debug_body
end
end
start_scene 'start'
sprite 'bg' do
image 'bg_00'
origin :center
end
text 'basic-text' do
font_size 24
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
コード一覧
- start.rb
プレー内容を公開する
プレー履歴
プレー履歴はありません。
新着レビュー
レビューはまだ投稿されていません。 作品の感想を作者に伝えるためにレビューを投稿してみませんか?
フォロー/シェア