반응형
예전만 해도 프로그램 개발은 꿈의 도전이라고만 여겨왔던 생각들을 깨는 시대가 되었습니다.
조금만 관심을 가지고 있다면 누구나 자신의 꿈을 도전할 수가 있다는 사실을 증명해 보일려고 요즘 무단히
노력을 하고 있습니다.
여러분들도 저와 같은 생각이 아니였을까 생각을 해
봅니다. 아직 100% 까지는 완성하지는 못했지만
그래도 지금 바로 게임을 할 수 있도록 구색은 모두
갖추게 되어 이렇게 글을 남기게 되어 얼마나 개인적으로
뿌듯한지 곁에서 보여 드리지 못해 못내 아쉬울 따름입니다.
아뭍튼 아직 가야할 길은 많이 남았지만 끝까지 포기하지 않고 정말 새내기 게임 개발자의 길을 확실하게 보여 드리도록 하겠습니다.

아직 정확히 메인 페이지라고는 할 수 없지만 나름대로
꾸며 보았습니다.
상단에 " KOREN KIDO" 로고가 가슴에 벅차오릅니다.
정말 꿈을 이룬것 같은 그런 느낌 이랄까요!!!

실제로 게임 개발자가 자신의 사진을 걸고 만드는 사람은
세계에서 유일하다라고 생각합니다.
바로 누구도 시도하지 않았던 컨셉을 시도할려고 합니다.
구글 플레이 스토어에 까지도 실제 사진을 첨부해도
될지는 아직 모르겠지만 그래도 시도해 나갈 생각입니다.
만약 Google play store 에 등록이 불가하면 Off 라인에서라도 사용을 할 생각합니다.

KeyboardKey.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using System;
public class KeyboardKey : MonoBehaviour
{
[Header(" Elements ")]
[SerializeField] private TextMeshProUGUI letterText;
[Header(" Events ")]
public static Action<char> OnKeyPressed;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
GetComponent<Button>().onClick.AddListener(SendKeyPressedEvent);
if (letterText == null)
{
letterText = GetComponentInChildren<TextMeshProUGUI>();
}
}
// Update is called once per frame
void Update()
{
}
private void SendKeyPressedEvent()
{
OnKeyPressed?.Invoke(letterText.text[0]);
}
}
InputManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InputManager : MonoBehaviour
{
[Header(" Elements ")]
[SerializeField] private WordContainer[] wordContainers;
[Header(" Settings ")]
private int currentWordContainerIndex;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
Initialize();
KeyboardKey.OnKeyPressed += KeyPressedCallback;
}
// Update is called once per frame
void Update()
{
}
public void Initialize()
{
for (int i = 0; i < wordContainers.Length; i++)
wordContainers[i].Initialize();
}
private void KeyPressedCallback(char letter)
{
if (wordContainers[currentWordContainerIndex].IsComplete())
currentWordContainerIndex++;
wordContainers[currentWordContainerIndex].Add(letter);
}
}
WordContainer.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WordContainer : MonoBehaviour
{
[Header(" Elements ")]
private LetterContainer[] letterContainers;
[Header(" Settings ")]
private int currentLetterIndex;
private void Awake()
{
letterContainers = GetComponentsInChildren<LetterContainer>();
//Initialize();
}
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void Initialize()
{
for (int i = 0; i < letterContainers.Length; i++)
letterContainers[i].Initialize();
}
public void Add(char letter)
{
letterContainers[currentLetterIndex].SetLetter(letter);
currentLetterIndex++;
}
public bool IsComplete()
{
return currentLetterIndex >= 5;
}
}
https://drive.google.com/file/d/1GCh3899T4HCwKUNXh9iT8JfeefKsphH8/view?usp=drivesdk
반응형