본문 바로가기

전체 글

플러터(Flutter) - 삼항연산자 삼항연사자의 기본 구조는 아래와 같습니다.조건문이 true이면 "?" 쪽을 실행하며 false이면 ":" 쪽을 실행 한다 입니다.조건문 ? 조건문이 true면 실행 : 조건문이 false면 실행  String question = 'y';question == 'y' ? const Text('정답') : const Text('오답')question이 y 이면 "정답"을 출력하며 아니면 "오답"을 출력하는 코드입니다.삼항 연사자의 기본 이겠죠. 위에선 두 가지 조건 true와 false 만 허용되는데 조건을 하나 더 넣고 싶다면question == 'y' ? const Text('정답') : question == 'n' ? const Text('오답') : const Text(.. 더보기
유니티 - CustomEditor 활용 (Inspector 꾸미기) 유니티에서 아이템이나 무기 등의 설정값으로 ScriptableObject를 사용하면서 해당 아이템이나 무기 등의 이미지를 상단에 표시해 주는 기능을 CustomEditor를 이용해 꾸며 보겠습니다. (아래 이미지 참조) 우선 사용자의 ScriptableObject 가 있을 겁니다. (아래 소스 참조)[CreateAssetMenu(menuName = "ScriptableObjects/WeaponValue")]public class WeaponValue : ScriptableObject { [Header("이름")] public string weaponName; [Header("이미지")] public Sprite weaponImage; [Header("파워")] public.. 더보기
유니티 (Unity) - 게임에 다중 언어 (Localization) 적용하기 유니티에서 제공해 주는 다중언어 시스템을 이용한 게임 적용 방법을 알아보겠습니다."사용된 유니티 버전은 2021.3 입니다. 버전에 따라 조금씩 차이가 있을 수 있습니다."  우선 Package Manager에서 Localization을 설치해 주세요. Project 창에서 "Language" 폴더를 하나 만들어 줍니다. (폴더의 이름은 다른 것으로 하셔도 됩니다.) Project Settings 창에서 Localization > Create를 클릭합니다. Create를 클릭하신 후 앞에 만들어 두었던 "Language" 폴더를 선택 후 저장. 폴더 저장 후 화면이 위와 같이 변경되면 Locale Generator를 클릭해 줍니다. 그럼 새창이 나오면서 게임에 적용될 언어를 선택할 수 있습니다.  우선 .. 더보기
유니티 (Unity) - 확률 뽑기(생성) https://docs.unity3d.com/kr/2019.4/Manual/RandomNumbers.html 랜덤 게임플레이 요소 추가 - Unity 매뉴얼여러 게임에서 임의로 선택되는 항목 및 값은 중요합니다. 이 섹션에서는 Unity에 내장된 랜덤 함수를 사용하여 일반적인 게임 역학을 구현하는 방법에 대해 알아봅니다.docs.unity3d.com 유니티에서 제공해 주는 확률 코드를 이용한 뽑기 및 기타 등등 여러 곳에서 사용할 수 있는 랜덤 확률 코드에 대해 알아보겠습니다.코드만 복사 붙여 넣기 해서 사용하는 것보단 내용을 알고 사용하는 게 더 도움이 되겠죠? public class RandomTest : MonoBehaviour { [Header("확률 설정")] public float[.. 더보기
유니티(Unity) - 클릭 이벤트 유니티 2d나 3d에서 오브젝트에 간편하게 클릭 처리를 할 수 있는 클릭 이벤트에 대해 알아보겠습니다.  우선 레이어(Layers)를 하나 추가해 주세요 아래 이미지처럼 "Test"라는 레이어를 추가했습니다. 그리고 카메라에 Physics Raycaster Component를 추가해 줍니다. Event Mask에 위에서 새롭게 추가한 Test 레이어를 선택해 주세요. 클릭 처리를 하고 싶은 오브젝트를 하나 생성해 주시고해당 오브젝트의 레이어를 Test로 변경합니다.ClickObject.cs를 해당 오브젝트에 추가해 줍니다. using UnityEngine;using UnityEngine.EventSystems;public class ClickObject : MonoBehaviour, IPointerCli.. 더보기
유니티(Unity) - 글자 타이핑 효과(Typing) 우선 Canvas에 테스트를 위한 Text UI와 Button을 하나씩 만들었습니다.둘 다 TextMeshPro를 사용하고 있습니다. 화면에 배치는 대충 이렇게 했습니다. Text의 정렬은 중앙으로 잡아 주었습니다.  Button에 Typing.cs 스크립트를 넣고 Button 이벤트에 위 이미지처럼 TypingButton을 연결시켜 줍니다.using System.Collections;using UnityEngine;using TMPro;public class Typing : MonoBehaviour { [Header("Text UI")] public TextMeshProUGUI textUI; [Header("타이핑 지연 시간")] public float delayTime; IEnumer.. 더보기
로또 당첨확인 - QR코드스캔 "로또 당첨 확인" [권한 확인] QR코드 촬영을 위한 사용자의 카메라 권한이 필요합니다. android.permission.CAMERA 메인 화면 "아이콘 순서대로 " 로또회차검색 - 현재까지의 1등 번호를 확인. 전국1등배 출점 - 전국의 모든 1등 배출점 검색 가능. 오늘의운세 - 간단한 운세 확인. 세금계산기 - 세금을 제외한 실 수령금 확인. 구입로또목록 - QR 촬영된 번호 목록 QR코드스캔 - 로또용지 QR코드 촬영 QR코드 촬영 로또 QR코드만 확인이 가능하며 코드 확인 후 동행 복권의 당첨 확인 페이지로 이동하게 됩니다. QR코드 촬영 후 동행복권 페이지에서 당첨 확인 동행 복권 페이지에서 확인된 용지의 번호는 사용자의 스마트폰에 데이터로 저장이 됩니다. 저장된 데이터는 "구입 로또 목록.. 더보기
플러터(Flutter) - 외부 데이터 불러올때 try / catch 오류(error) 처리 외부에서 Json이나 csv 파일을 비동기로 불러올 때 일반적으로 발생할 수 있는 에러들의 처리 방법입니다. import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class Test extends StatefulWidget { const Test({Key? key}) : super(key: key); @override State createState() => _TestState(); } class _TestState extends State { @override void initState() { super.initState(); try { // 데이터 불러오기 // http.Respo.. 더보기