반응형
반응형
코드 구현 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float raycastDistance = 3f; //인식할 수 있는 범위 RaycastHit hit; Ray ray; void Update() { Debug.DrawLine(ray.origin, ray.origin + ray.direction * raycastDistance, Color.red); //씬에서 내가 보고있는 방향을 표시 ray = new Ray(transform.position, transform.forward); //보고있는 방향으로 살펴보..
Object.Destroy() 또는 Object.DestroyImmediate() 사용GameObject objToDestroy = Object.Destroy(objToDestroy); 이벤트 구독 관리void Start() { SomeEventManager.SomeEvent += HandleSomeEvent; } void OnDestroy() { SomeEventManager.SomeEvent -= HandleSomeEvent; } void HandleSomeEvent() { } Resources.UnloadUnusedAssets() 사용Resources.UnloadUnusedAssets(); 명확한 참조GameObject obj = obj = null; 사용자 정의 클래스에 대해 IDisposable..
코드 작성 import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyScrollableView(), ); } } class MyScrollableView extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Flutter Scroll View Example'), ), body:..
유니티 스크롤뷰 컨텐츠가 모바일 빌드 화면에서 스크롤 시 영역 밖을 벗어날 경우 Disable Depth and Stencil 설정을 끄면 됩니다.
코드 작성 using UnityEngine; public class ObjectMovement : MonoBehaviour { // 목표 지점을 설정합니다. public Transform targetPoint; // 이동 속도를 조절할 변수를 설정합니다. public float moveSpeed = 5f; void Update() { // 목표 지점이 설정되어 있지 않으면 함수를 종료합니다. if (targetPoint == null) { Debug.LogWarning("목표 지점이 설정되지 않았습니다."); return; } // 목표 지점 방향을 구합니다. Vector3 direction = targetPoint.position - transform.position; // 정규화된 방향으로 물체를 이..
코드 작성 FruitController.cs using UnityEngine; public class FruitController : MonoBehaviour { public float upwardForce = 5f; void Start() { LaunchFruit(); } void Update() { if (transform.position.y < -5f) { Destroy(gameObject); } } void LaunchFruit() { Rigidbody2D rb = GetComponent(); rb.AddForce(Vector2.up * upwardForce, ForceMode2D.Impulse); rb.AddTorque(Random.Range(-5f, 5f), ForceMode2D.Impulse..
코드 작성 PaddleController.cs using UnityEngine; public class PaddleController : MonoBehaviour { public float speed = 5f; void Update() { float moveInput = Input.GetAxis("Vertical"); transform.Translate(Vector2.up * moveInput * speed * Time.deltaTime); } } BallController.cs using UnityEngine; public class BallController : MonoBehaviour { public float speed = 5f; void Start() { LaunchBall(); } void U..
코드 작성import UIKitclass ViewController: UIViewController { var timer: Timer? var time = 0 let timeLabel: UILabel = { let label = UILabel() label.font = UIFont.systemFont(ofSize: 48) label.textAlignment = .center label.text = "00:00" return label }() override func viewDidLoad() { super.viewDidLoad() view.addSubview(timeLabel) ..
코드 작성 using UnityEngine; using System; using System.Collections; using System.Collections.Generic; public class PrimeDecomposition : MonoBehaviour { // 수의 소인수를 찾는 함수 public static List PrimeFactors(int n) { List factors = new List(); // 홀수가 될 때까지 숫자를 2로 나누기 while (n % 2 == 0) { factors.Add(2); n /= 2; } // n은 이 점에서 홀수여야 하므로 2(i = i + 2)의 스킵할 수 있음 for (int i = 3; i 1) factors.Add(n); return facto..
에러 내용Xcode 15.01 업데이트 이후 발생 DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead... 해결 방법터미널을 연 뒤에 입력sudo gem install cocoapods 해당 프로젝트 폴더에서 터미널을 연 뒤에 명령어 입력pod update 원하는 폴더에서 터미널 여는 법 [MacOS] 파인더에서 터미널 바로 열기맥북이나 아이맥같은 Mac OS 환경에서는 윈도우 탐색기를 대체하는 파인더(Finder) 앱을 사용하는데 이때 특정 폴더에서 직접 콘솔 명령어를 바로 사용하고 싶을 때가 있습니다. 예를 들어 저 같은ifuwanna.tistory.com 다른 에러 해결 방법 Unity..
딕셔너리 (Dictionary) HashMap과 유사한 역할을 하며 키 기반으로 값을 저장하고 검색하는데 사용됩니다. 생성 Dictionary myDictionary = new Dictionary(); 요소 추가 및 업데이트 myDictionary["one"] = 1; myDictionary["two"] = 2; myDictionary["three"] = 3; myDictionary["one"] = 11; // "one" 키에 연결된 값 업데이트 요소 제거 myDictionary.Remove("two"); 값 가져오기 int value = myDictionary["three"]; // value에는 3이 저장됩니다. 요소 루프 foreach (var kvp in myDictionary) { string ..
HashSet고유한 요소 집합을 저장하는 컬렉션입니다. 즉, 중복 값을 허용하지 않습니다. 생성HashSet numbers = new HashSet(); 요소 추가numbers.Add(1);numbers.Add(2);numbers.Add(3);numbers.Add(1); // 1은 추가되지 않음. (중복됨) 요소 제거numbers.Remove(2); 개수 확인int count = numbers.Count; 루프 사용foreach (int number in numbers){} 해쉬 삭제numbers.Clear(); 합집합, 교집합, 차집합HashSet otherSet = new HashSet { 2, 3, 4 };numbers.UnionWith(otherSet); // 다른 집합의 요소를 숫자에 추가합니다..