일단 지금까지 만들어놓은 스프라이트를 활용해서
플레이어의 기본 이동과 콜라이더를 만들고
3마의 폭탄과 튕기는 공의 프리팹을 먼저 구현해 보고자 했다.
그리고 일반 바닥과 투명바닥 프리팹을 만들어서 투명바닥 프리팹에 플레이어가 충돌하면 체력을 0으로 만드는 작업을 진행해보고자 했다.
내가 그린 귀염 뽀작 폭탄
각각 프리팹을 만들어 주고 있다
얘가 말썽을 일으켰다
게임을 시작하면 입력해놓은 좌표에서 더 높은 지점부터 왕복운동을 시작하는거임 ㅡㅡ
왜이러는거임? ㅡㅡ
player script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class player : MonoBehaviour
{
Rigidbody2D rigidbody2d;
public float player_Speed = 20f;
public int player_max_health=3;
int player_current_health;
void Start() {
rigidbody2d = GetComponent<Rigidbody2D>();
player_current_health=player_max_health;
}
void Update() {
float horizontal = Input.GetAxis("Horizontal");
Vector2 position = rigidbody2d.position;
position.x = position.x + player_Speed * horizontal * Time.deltaTime;
rigidbody2d.MovePosition(position);
}
public void ChangeHealth(int amount)
{
player_current_health = Mathf.Clamp(player_current_health + amount, 0, player_max_health);
Debug.Log(player_current_health + "/" + player_max_health);
}
}//class end
bounceball script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class bounceball : MonoBehaviour
{
public float bounceball_speed=10.0f;
public bool horizontal;
Rigidbody2D bb_RB;
public float changeTime = 1.0f;
float timer;
int direction = 1;
void Start()
{
bb_RB = GetComponent<Rigidbody2D>();
timer = changeTime;
}
// Update is called once per frame
void Update()
{
timer -= Time.deltaTime;
if (timer < 0)
{
direction = -direction;
timer = changeTime;
}
Vector2 position = bb_RB.position;
if (horizontal)
{
position.y = position.y + Time.deltaTime * bounceball_speed * direction;
}
else {
position.y = position.y + Time.deltaTime * bounceball_speed * direction;
}
bb_RB.MovePosition(position);
}
void OnCollisionEnter2D(Collision2D other)
{
player player = other.gameObject.GetComponent<player>();
if (player != null)
{
player.ChangeHealth(-1);
}
}
}
time 설정에 문제가 있는건지 갑자기 위로 팍 튀어 올라서 그 지점부터 왕복운동을 시작한다...
콜라이더도 제대로 작동하지 않아서 플레이어의 체력이 감소해서 로그 창에 올라오지도 않는다...
오늘은 뭔가 닥치는대로 막 건드려서 정신없이 프로젝트를 진행했어서 어디서 뭐가 틀린건지 잘 모르겠다.
내일부터는 할 것을 딱 정해놓고 시작해야겠어
그러므로 내일 할 것.
1. bounceball 프리팹 완성 (왕복운동의 가속도까지 구현)
2. 투명 바닥 프리팹 완성 (플레이어와 충돌하면 플레이어의 체력이 0이 되도록 구현)
3. 프로젝트 폴더 github 연동 + 지속 커밋 가능하도록 설정 (meta파일 visible해서)
까지 구현해봐야겠다.
혼자할라니까 너무 빡세네 술마렵다 ㅠㅠ
'1인개발 메이킹로그 > [Web game] 쿠크세이튼3마리오' 카테고리의 다른 글
[5주-24일차] 쿠크3마 연습용 웹게임 - 플레이어 애니메이션, 바닥배치 (1) | 2022.03.08 |
---|---|
[5주-23일차] 쿠크3마 연습용 웹게임 - 바운스볼,투명바닥 프리팹 + 깃허브 연동 (0) | 2022.03.04 |
[5주-21일차] 쿠크3마 연습용 웹게임 - 게임소스 (0) | 2022.03.02 |
쿠크3마웹게임 개발 계획 수정-2차 (0) | 2022.02.27 |
[4주-20일차] 루비 프로젝트 chapter15 빌드, 실행, 배포하기 (0) | 2022.02.27 |