'분류 전체보기'에 해당되는 글 495건

  1. 2014.01.06 안드로이드 동적 생성 view button progressbar 등
  2. 2014.01.06 cocos2d-x 로딩 관련
  3. 2014.01.06 cocos2d-x 샘플 소스 소개
  4. 2014.01.06 c++ stl 관련 자료
  5. 2014.01.06 c# 책
  6. 2014.01.05 [펌][C# 강좌] 직접 만들어보는 메모리 풀 클래스
  7. 2014.01.04 유니티 개발시 필요한 라이프 사이클
  8. 2014.01.04 Unity 3.x Game Development Essentials 한국어판 C#과 자바스크립트로 하는 유니티 3.x 게임 개발
  9. 2014.01.04 C# 동영상 강의 모은 곳 사이트 주소
  10. 2014.01.04 유니티 유/무료 강좌

안드로이드 동적 생성 view button progressbar 등

|

package com.activity.test;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Gravity;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.FrameLayout;

import android.widget.LinearLayout;

import android.widget.ProgressBar;

import android.widget.TextView;

 

 

public class StartActivity extends Activity {

 

        Button btn;

       

        protected void onCreate(Bundle savedInstanceState){

               super.onCreate(savedInstanceState);

                             

               // FrameLayout Create

        ViewGroup.LayoutParams framelayout_params =

            new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,

                                       ViewGroup.LayoutParams.FILL_PARENT);

        FrameLayout framelayout = new FrameLayout(this);

        framelayout.setLayoutParams(framelayout_params);

       

        setContentView(framelayout);

              

        //TextView

        TextView textView = new TextView(this);

        textView.setText("Text Test");       

        framelayout.addView(textView);

                      

        //button       

        Button myButton = new Button(this);

        myButton.setText("Press Me");

        ViewGroup.LayoutParams button_layout_params =

                new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,

                                           ViewGroup.LayoutParams.WRAP_CONTENT);

        myButton.setLayoutParams(button_layout_params);

        framelayout.addView(myButton);      

        //button touch event!

        myButton.setOnClickListener(new OnClickListener(){

                       public void onClick(View v)

                       {

                              Intent intent = new Intent(StartActivity.this, ActivityTest.class);

                              startActivity(intent);

                              finish();

                       }

               });

       

        //frameLayout addView LinearLayout

        ViewGroup.LayoutParams linearLayout_params =

                new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,

                                           ViewGroup.LayoutParams.FILL_PARENT);

        LinearLayout layout = new LinearLayout(this);

        layout.setLayoutParams(linearLayout_params);

        layout.setGravity(Gravity.CENTER);

        framelayout.addView(layout);               

       

        ProgressBar progressBar2 = new ProgressBar(this, null, android.R.attr.progressBarStyleLarge);       

        ViewGroup.LayoutParams edittext_layout_params =

                new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,

                                           ViewGroup.LayoutParams.WRAP_CONTENT);       

        progressBar2.setLayoutParams(edittext_layout_params);       

        layout.addView(progressBar2);         

       

        }

}

 



Trackback 0 And Comment 0

cocos2d-x 로딩 관련

|

예제 소스 TestCpp에 보시면 Texture2DTest -> Texture Async Load 라는게 있습니다.

TextureCacheTest.cpp


Trackback 0 And Comment 0

cocos2d-x 샘플 소스 소개

|

http://www.raywenderlich.com/33752/cocos2d-x-tutorial-for-ios-and-android-space-game

Trackback 0 And Comment 0

c++ stl 관련 자료

|

http://www.hanb.co.kr/ebook/look.html?isbn=9788979149937#binfo2


무료입니다.

'잡다한것들전부 > C, C++, C#' 카테고리의 다른 글

추상 클래스 (C++)  (0) 2014.01.10
Duff's Device  (0) 2014.01.10
c++ 11 이란??  (0) 2014.01.09
strncpy 로 메모리 복사  (0) 2014.01.07
C언어 배열 초기화 방법  (0) 2014.01.07
c++ stl 관련 자료  (0) 2014.01.06
Trackback 0 And Comment 0

c# 책

|

C# 공부를 위해 봐야하는 일종의 정석(?)책이 있습니다.
하나는 Inside C# 이고 다른 하나는 C# in Depth 입니다.

Trackback 0 And Comment 0

[펌][C# 강좌] 직접 만들어보는 메모리 풀 클래스

|




MemoryPool.unitypackage


MemoryPool.cs

많은 량의 객체들을 실시간으로 생성하고, 삭제하는 코드로 인해서 메모리가 빠르게 고갈되고,

쌓인 가비지로 인해 버벅거리는 현상이 발생한다면 메모리 풀 시스템을 활용하는게 좋습니다.

에셋스토어에도 그런 시스템을 판매하는걸로 알고 있지만, 직접 만들어 보았습니다.

많이 써보시고, 조금씩 수정하면서 사용하셔도 됩니다.





using UnityEngine;

using System.Collections;

 

//-----------------------------------------------------------------------------------------

// 메모리 클래스

// 용도 : 특정 게임오브젝트를 실시간으로 생성과 삭제하지 않고,

//      : 미리 생성해 게임오브젝트를 재활용하는 클래스입니다.

//-----------------------------------------------------------------------------------------

//MonoBehaviour 상속 안받음. IEnumerable 상속시 foreach 사용 가능

//System.IDisposable 관리되지 않는 메모리(리소스) 해제

public class MemoryPool : IEnumerable, System.IDisposable {

    //-------------------------------------------------------------------------------------

    // 아이템 클래스

    //-------------------------------------------------------------------------------------

    class Item

    {

        public bool active; //사용중인지 여부

        public GameObject gameObject;

    }

    Item[] table;

 

    //------------------------------------------------------------------------------------

    // 열거자 기본 재정의

    //------------------------------------------------------------------------------------

    public IEnumerator GetEnumerator()

    {

        if (table == null)

            yield break;

 

        int count = table.Length;

 

        for (int i = 0; i < count; i++)

        {

            Item item = table[i];

            if (item.active)

                yield return item.gameObject;

        }

    }

    //-------------------------------------------------------------------------------------

    // 메모리 생성

    // original : 미리 생성해 원본소스

    // count : 최고 갯수

    //-------------------------------------------------------------------------------------

    public void Create(Object original, int count)

    {

        Dispose();

        table = new Item[count];

 

        for (int i = 0; i < count; i++)

        {

            Item item = new Item();

            item.active = false;

            item.gameObject = GameObject.Instantiate(original) as GameObject;

            item.gameObject.SetActive(false);

            table[i] = item;

        }

    }

    //-------------------------------------------------------------------------------------

    // 아이템 요청 - 쉬고 있는 객체를 반납한다.

    //-------------------------------------------------------------------------------------

    public GameObject NewItem()

    {

        if (table == null)

            return null;

        int count = table.Length;

        for (int i = 0; i < count; i++)

        {

            Item item = table[i];

            if (item.active == false)

            {

                item.active = true;

                item.gameObject.SetActive(true);

                return item.gameObject;

            }

        }

 

        return null;

    }

    //--------------------------------------------------------------------------------------

    // 아이템 사용종료 - 사용하던 객체를 쉬게한다.

    // gameOBject : NewItem으로 얻었던 객체

    //--------------------------------------------------------------------------------------

    public void RemoveItem(GameObject gameObject)

    {

        if (table == null || gameObject == null)

            return;

        int count = table.Length;

       

        for (int i = 0; i < count; i++)

        {

            Item item = table[i];

            if (item.gameObject == gameObject)

            {

                item.active = false;

                item.gameObject.SetActive(false);

                break;

            }

        }

    }

    //--------------------------------------------------------------------------------------

    // 모든 아이템 사용종료 - 모든 객체를 쉬게한다.

    //--------------------------------------------------------------------------------------

    public void ClearItem()

    {

        if (table == null)

            return;

        int count = table.Length;

 

        for (int i = 0; i < count; i++)

        {

            Item item = table[i];

            if (item != null && item.active)

            {

                item.active = false;

                item.gameObject.SetActive(false);

            }

        }

    }

    //--------------------------------------------------------------------------------------

    // 메모리 삭제

    //--------------------------------------------------------------------------------------

    public void Dispose()

    {

        if (table == null)

            return;

        int count = table.Length;

 

        for (int i = 0; i < count; i++)

        {

            Item item = table[i];

            GameObject.Destroy(item.gameObject);

        }

        table = null;

    }

 

}

 

 



using UnityEngine;

using System.Collections;

 

public class CsCube : MonoBehaviour {

 

    public float speed = 2.0f;

    public GameObject missilePrefab;

 

    //missile time

    float fireRate = 0.2f;

    float startTime;

    float shootTimeLeft;

 

    MemoryPool pool = new MemoryPool();

    GameObject[] missile;

 

    // Use this for initialization

                  void Start () {

        startTime = Time.time;

 

        int poolCount = 10;

        pool.Create(missilePrefab, poolCount);//메모리 사용

        missile = new GameObject[poolCount];

        for (int i = 0; i < missile.Length; i++)

        {

            missile[i] = null;

        }

                  }

    void OnApplicationQuit()

    {

        pool.Dispose();//메모리 삭제

    }

 

                  // Update is called once per frame

                  void Update () {

 

        float amtMove = speed * Time.deltaTime;

        float key = Input.GetAxis("Horizontal");

        transform.Translate(Vector3.right * key * amtMove);

 

 

        shootTimeLeft = Time.time - startTime;

        //발사

        if (Input.GetMouseButtonDown(0))

        {

            if (shootTimeLeft > fireRate)

            {

                for (int i = 0; i < missile.Length; i++)

                {

                    if (missile[i] == null)

                    {

                        missile[i] = pool.NewItem();

                        missile[i].transform.position = transform.position;

                        break;

                    }

                }

 

                startTime = Time.time;

                shootTimeLeft = 0.0f;

            }

        }

 

        //미사일삭제

        for (int i = 0; i < missile.Length; i++)

        {

            if (missile[i])

            {

                if (missile[i].transform.position.z > 20)

                {

                    pool.RemoveItem(missile[i]);

                   // missile[i].GetComponent<CsMissile>().init();

                    missile[i] = null;

                }

            }

        }

 

 

                  }

 

 

 

}

 

Trackback 0 And Comment 0

유니티 개발시 필요한 라이프 사이클

|



Trackback 0 And Comment 0

Unity 3.x Game Development Essentials 한국어판 C#과 자바스크립트로 하는 유니티 3.x 게임 개발

|


 

유니티 테크놀로지 사의 교육 전문가가 알려주는 유니티 게임 프로그래밍 입문서! 
C#과 자바스크립트를 익힐 수 있는 유니티 게임 개발 스크립팅!!

[CD 1 (유니티코리아 제공 유니티 3.5 무료 버전과 프로모션 영상 수록)]

< 요약 >

다년간의 유니티 강의를 거쳐, 현재 유니티 테크놀로지에서 교육 관련 부분을 담당하고 있는 윌 골드스톤의 경험과 지식이 담긴 초보자를 위한 유니티 입문서다. 세계 최초의 유니티 책으로 유명한 『Unity Game Development Essentials』의 개정판으로 3D의 기본 개념, 인터페이스와 스크립팅 입문, 유니티 핵심 기능과 스크립팅 활용을 통한 실제 게임 메카닉 구현, 최적화와 게임 빌드를 통한 배포까지의 내용을 실제 개발 예제를 통해 자세히 설명한다.

< 소개 >

게임 엔진은 우리가 익히 알고, 즐기는 게임들의 이면에서 그 게임을 돌아가게 만드는 도구다. 유니티는 가장 널리 사용되고, 사랑 받는 게임 개발 엔진이다. 게임뿐 아니라 웹, 데스크톱, 모바일, 콘솔에서의 인터랙티브한 경험을 만들기 위해 취미 개발자에서부터 대형 스튜디오에 이르기까지, 다양한 사람들이 유니티를 사용한다. 유니티가 제공하는 직관적이고 사용하기 쉬운 기능과 이 책을 통해, 이전과는 비교할 수 없을 정도로 손쉽게 게임 개발을 시작할 수 있다. 

실질적인 접근을 취하는 이 책은 유니티를 이용한 개발에 들어가기 전에, 먼저 3D 게임 개발의 주요 개념을 소개한다. 그 다음 간단한 게임 디자인의 프로토타입을 거쳐, 본격적으로 더 큰 규모의 게임 개발로 들어간다. 이 과정에서 3D 월드 제작, 스크립팅, 게임 메카닉 구현과 같이 게임 개발의 필수 요소를 다룬다.

[부록 CD 수록] 유니티코리아 제공
■ 윈도우용 유니티 3.5.1 무료 버전
■ 유니티 프로모션 영상

[출판사 제공]

 

현존 개발서중 최고라고 손꼽히는 개발서

Trackback 0 And Comment 0

C# 동영상 강의 모은 곳 사이트 주소

|

http://www.sqler.com/408555

Trackback 0 And Comment 0

유니티 유/무료 강좌

|

http://www.unity3dstudy.com/


무료강좌에도 괜찮은 내용이 꾀 있는 것 같고 여유가 된다면 유료 강좌도 들을만 할 것 같다.


Trackback 0 And Comment 0