회원 로그인
|
Struct (구조체) (with Unity)
C# Struct
[구조체]
참조 형식이 아닌 값 형식으로 객체를 생성하고 싶을때 사용하는 문법 형식
[클래스와의 차이]
- 선언만으로도 생성 가능
- 매개변수 없는 생성자 사용 불능
- 상속, 정적 형식으로 사용할 수 없음
- 반드시 초기화 해줘야 함
- 값을 보관 저장
[구조체]
참조 형식이 아닌 값 형식으로 객체를 생성하고 싶을때 사용하는 문법 형식
[클래스와의 차이]
- 선언만으로도 생성 가능
- 매개변수 없는 생성자 사용 불능
- 상속, 정적 형식으로 사용할 수 없음
- 반드시 초기화 해줘야 함
- 값을 보관 저장
using UnityEngine; using System.Collections; // struct 카피가 필요할 때 // prefab은 GameObject의 정보를 가지고 있는 파일 (게임 오브젝트가 아님) public struct SAttackInfo { public string _attackName; public int _damage; public int _time; public SAttackInfo(string attackName, int damage, int time) { this._attackName = attackName; this._damage = damage; this._time = time; } public void PrintAttackInfo() { Debug.Log("공격명 : " + _attackName); Debug.Log("공격력 : " + _damage); Debug.Log("공격시간 : " + _time); } } public class CStructEx : MonoBehaviour { void Start () { SAttackInfo attackInfo1; attackInfo1._attackName = "기본 공격"; attackInfo1._damage = 100; attackInfo1._time = 5; // 주석 처리시 에러 발생 attackInfo1.PrintAttackInfo(); AddAttackInfoValue(attackInfo1); attackInfo1.PrintAttackInfo(); SAttackInfo attackInfo2 = new SAttackInfo("특수공격", 200, 3); attackInfo2.PrintAttackInfo(); AddAttackInfoValue(attackInfo2); attackInfo2.PrintAttackInfo(); // SendMessage로 복수개의 데이터를 보낼때 gameObject.SendMessage("AddAttackInfoValue", attackInfo1); } public void AddAttackInfoValue(SAttackInfo attackInfo) { attackInfo._damage += 10; attackInfo._time += 2; } public void ShowAttackInfoValue(SAttackInfo attackInfo) { Debug.Log("공격명 : " + attackInfo._attackName); Debug.Log("공격력 : " + attackInfo._damage); Debug.Log("공격시간 : " + attackInfo._time); } }
댓글 0개
| 엮인글 0개
285개(6/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
185 | [PHP] 회원가입 + 로그인 스크립트 (with Unity) [2+1] | 푸딩뱃살 | 12240 | 2015.12.06 17:31 |
184 | [C#] C# 추천 서적 | 푸딩뱃살 | 1321 | 2015.12.06 17:16 |
183 | [C/C++] C++ 참고 사이트 | 푸딩뱃살 | 1182 | 2015.12.04 16:13 |
182 | [PHP] 클래스 | 푸딩뱃살 | 3581 | 2015.12.04 14:40 |
181 | [PHP] CodeIgniter(코드이그나이트) | 푸딩뱃살 | 2932 | 2015.12.04 14:40 |
180 | [C#] Delegate (델리게이트) (with Unity) | 푸딩뱃살 | 6267 | 2015.12.01 10:44 |
179 | [PHP] php 함수 | 푸딩뱃살 | 2219 | 2015.11.30 15:33 |
178 | [PHP] Dictionary (딕셔너리) | 푸딩뱃살 | 2869 | 2015.11.27 12:37 |
177 | [PHP] 배열 | 푸딩뱃살 | 2170 | 2015.11.27 12:37 |
176 | [PHP] 변수 선언 / 산술 연산 | 푸딩뱃살 | 2183 | 2015.11.27 11:14 |
175 | [C#] Dictionary (딕셔너리) (with Unity) [3+3] | 푸딩뱃살 | 14483 | 2015.11.25 10:29 |
174 | [C#] List (리스트) (with Unity) | 푸딩뱃살 | 12088 | 2015.11.24 10:22 |
173 | [C#] Generic (제네릭) (with Unity) | 푸딩뱃살 | 4889 | 2015.11.22 12:32 |
172 | [C/C++] Templete (템플릿) | 푸딩뱃살 | 2046 | 2015.11.22 12:15 |
171 | [C#] 키보드 입력 | 푸딩뱃살 | 3570 | 2015.11.21 18:00 |
170 | [C#] 예외와 예외 처리 | 푸딩뱃살 | 4124 | 2015.11.21 17:39 |
>> | [C#] Struct (구조체) (with Unity) | 푸딩뱃살 | 5124 | 2015.11.18 22:08 |
168 | [C#] Property (프로퍼티) (with Unity) | 푸딩뱃살 | 2443 | 2015.11.18 10:50 |
167 | [C#] interface (인터페이스) (with Unity) | 푸딩뱃살 | 3308 | 2015.11.15 17:32 |
166 | [C#] 스트림 (stream) - 문자, 바이너리 읽기/쓰기 | 푸딩뱃살 | 12780 | 2015.11.14 18:24 |