Sublime Text 2란?

코드 에디터(code editor)로 프로그래밍 언어를 작성 할 때 사용하는 프로그램으로 빠르고 가볍고 확장성이 좋은 에디터다.

홈페이지

http://www.sublimetext.com/

주요기능

  • 프로젝트 기능을 통해서 여러개의 폴더를 손쉽게 관리
  • GOTO 기능을 통해서 원하는 파일로 빠르게 이동 화면을 쉽게 분할 할 수 있다.
  • 패키지 관리를 이용해서 손쉽게 확장 기능을 설치 제거 할 수 있다.
  • 단축키
  • vi의 단축키를 기본적으로 내장해서 vi 스타일로 사용 할 수 있다.
  • 매크로 기능
  • 빌드 기능


'Computer Language > Mobile Query' 카테고리의 다른 글

제이쿼리 모바일이란?  (0) 2018.08.18

2010년 8월 11일, 제이쿼리(jQuery)를 만든 존 레식(John Resig)은 제이쿼리 모바일 프로젝트를 발표했습니다. 제이쿼리 모바일은 모바일 사이트를 위한 UI(user interface)프레임워크로서 모바일 기기에 최적화된 코어 프레임워크입니다. 제이쿼리 모바일은 배포를 거듭할수록 다양한 플랫폼과 기능을 지원하고, 향상된 성능을 제공하는 등 강력한 프레임워크로 진화했습니다.

제이쿼리 모바일은 일반적인 HTML과 CSS를 모바일에 최적화된 사이트에 맞게 적용할 수 있는 다양한 기능을 제공합니다. 제이쿼리 모바일 적용을 위해 일반적인 HTML 페이지에 약간의 코드만 추가하면 곧바로 모바일에 최적화된 모습으로 변경됩니다.

다른 프레임워크와는 달리 제이쿼리 모바일은 HTML에 집중했습니다. 제이쿼리 모바일은 제이쿼리에 강하게 연결되어 있으며 한 줄의 자바스크립트 코딩 없이도 다양하게 작업할 수 있습니다. 제이쿼리 모바일은 HTML에 경험이 있는 사람들이 더욱 알아보기 쉽습니다. 제이쿼리 모바일은 터치에 최적화된 프레임워크이며, 작은 글자와 링크를 갖는 기존 웹 사이트에서 정확한 지점을 클릭하기 힘들어하거나 실수로 확인 버튼 대신 초기화 버튼을 선택하는 스마트폰 사용자를 위한 프레임워크입니다. 제이쿼리 모바일은 사이트 콘텐츠를 모바일에 최적화 시켜 줍니다. 일반적인 버튼 크기를 키워서 클릭하기 쉽게 합니다. 링크는 리스트 기반의 네비게이션 시스템으로 변경합니다. 콘텐츠는 부드러운 화면전환효과가 있는 가상 페이지로 분리됩니다. 많은 코드 작성없이도 다양한 작업을 할 수 있습니다.

'Computer Language > Mobile Query' 카테고리의 다른 글

[도구][편집기] Sublime Text  (0) 2018.08.18

Item ID

1. type 1 : Equip 2; Potion 3: Block 4:Resource

1.Overap O : Overlap 1: Head 2: Hand 3 : Body 4:Pants

1.reserved(예비)

1. INDEX

1. INDEX

 

3 0 0 2 5 : block item

'Computer Language > 데이터 통신' 카테고리의 다른 글

LPSTR, LPCSTR, LPTSTR, LPCTSTR  (0) 2014.12.05
채팅  (0) 2014.11.13

LPSTR: char*와 같이 1바이트를 가리키는 포인터이다.

LPCSTR: const char*와 같음

LPTSTR : UNICODE(Wide Character) types.

-16 bit UNICODE character(WCHAR)를 가리키는 포인터

-유니코드를 지원하기 때문에 2바이트를 가리킨다.

LPCTSTR: const WCHAR* 와 같음.

'Computer Language > 데이터 통신' 카테고리의 다른 글

아이템 설계  (0) 2014.12.24
채팅  (0) 2014.11.13

using UnityEngine;

using System.Collections;

using System.Collections.Generic;

public class Gem : MonoBehaviour {

public GameObject sphere;

public GameObject selector;

public List<Gem> Near = new List<Gem>();

public string[] gemMaterials = {"Red", "Blue", "Green", "Orange", "Yellow", "Black", "Purple"} ;

public string color = "";

public bool isSelected = false;

public bool isMatched = false;

public int XCoord{

get

{

return Mathf.RoundToInt(transform.localPosition.x);

}

}

public int YCoord{

get

{

return Mathf.RoundToInt(transform.localPosition.y);

}

}

// Use this for initialization

void Start () {

CreateGem();

}

// Update is called once per frame

void Update () {

}

public void ToggleSeletor(){

isSelected = !isSelected;

selector.SetActive(isSelected);

}

public void CreateGem(){

color = gemMaterials[Random.Range(0, gemMaterials.Length - 1)];

print (gemMaterials.Length);

Material m= Resources.Load("Materials/"+color) as Material;

sphere.renderer.material = m;

print (color);

print (m);

print (sphere.renderer.material);

isMatched = false;

}

public void AddNear(Gem g)

{

if(!Near.Contains(g))

Near.Add(g);

}

public bool IsNearWith(Gem g)

{

if(Near.Contains(g))

{

return true;

}

return false;

}

public void RemoveNear(Gem g)

{

Near.Remove(g);

}

void OnMouseDown()

{

if(!GameObject.Find("Board").GetComponent<Board>().isSwapping)

{

ToggleSeletor();

GameObject.Find("Board").GetComponent<Board>().SwapGem(this);

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////


using UnityEngine;

using System.Collections;

using System.Collections.Generic;

public class Board : MonoBehaviour {

public List<Gem> gems = new List<Gem>();

public int GridWidth;

public int GridHeight;

public GameObject gemPrefabs;

public Gem lastGem;

public Vector3 gem1Start,gem1End,gem2Start,gem2End;

public bool isSwapping = false;

public Gem gem1, gem2;

public float startTimer;

public float swapRate = 3f;

public int AmountToMatch = 3;

public bool isMatched = false;

// Use this for initialization

void Start () {

for(int y = 0; y < GridHeight; y++)

{

for(int x = 0; x < GridWidth; x++)

{

GameObject g = Instantiate(gemPrefabs,new Vector3(x, y, 0), Quaternion.identity) as GameObject;

g.transform.parent = gameObject.transform;

gems.Add(g.GetComponent<Gem>());

}

}

gameObject.transform.position = new Vector3(-2.5f, -2f, 0);

}

public void TogglesPhysics(bool isOn)

{

for(int i = 0; i <gems.Count; i++)

{

gems[i].rigidbody.isKinematic = isOn;

}

}

public void SwapGem(Gem currentGem){

if(lastGem == null){

lastGem = currentGem;

}

else if(lastGem == currentGem){

lastGem = null;

}

else{

if(lastGem.IsNearWith(currentGem))

{

gem1Start = lastGem.transform.position;

gem1End = currentGem.transform.position;

gem2Start = currentGem.transform.position;

gem2End = lastGem.transform.position;

startTimer = Time.time;

TogglesPhysics(true);

gem1 = lastGem;

gem2 = currentGem;

isSwapping = true;

}

else

{

lastGem.ToggleSeletor();

lastGem = currentGem;

}

}

}

// Update is called once per frame

void Update () {

if(isMatched)

{

for(int i = 0; i < gems.Count; i++)

{

if(gems[i].isMatched)

{

gems[i].CreateGem();

gems[i].transform.position= new Vector3(gems[i].transform.position.x, gems[i].transform.position.y + 6, gems[i].transform.position.z);

}

}

}

isMatched = false;

if(isSwapping){

MoveGem(gem1, gem1End, gem1Start);

MoveNegGem(gem2, gem2End, gem2Start);

if(Vector3.Distance(gem1.transform.position, gem1End) <= .1f || Vector3.Distance(gem2.transform.position, gem2End) < .1f){

gem1.transform.position = gem1End;

gem2.transform.position = gem2End;

gem1.ToggleSeletor();

gem2.ToggleSeletor();

lastGem = null;

isSwapping = false;

TogglesPhysics(true);

CheckMatch();

}

}

}

public void CheckMatch(){

List<Gem> gem1List = new List<Gem>();

List<Gem> gem2List = new List<Gem>();

ConstructMatchList(gem1.color, gem1, gem1.XCoord, gem1.YCoord, ref gem1List);

FixedMatchList(gem1, gem1List);

ConstructMatchList(gem2.color, gem2, gem1.XCoord, gem2.YCoord, ref gem2List);

FixedMatchList(gem2, gem2List);

print("gem1" + gem1List.Count);

}

public void ConstructMatchList(string color, Gem gem, int XCoord, int YCoord, ref List<Gem> MatchList){

if(gem == null)

{

return;

}

else if(gem.color != color)

{

return;

}

else if(MatchList.Contains(gem))

{

return;

}

else{

MatchList.Add(gem);

if(XCoord == gem.XCoord || YCoord == gem.YCoord)

{

foreach(Gem g in gem.Near)

{

ConstructMatchList(color, g, XCoord, YCoord, ref MatchList);

}

}

}

}

public void FixedMatchList(Gem gem, List<Gem> ListToFix){

List<Gem> rows  = new List<Gem>();

List<Gem> collumns = new List<Gem>();

for(int i = 0; i < ListToFix.Count; i++)

{

if(gem.XCoord == ListToFix[i].XCoord)

{

rows.Add(ListToFix[i]);

}

if(gem.YCoord == ListToFix[i].YCoord)

{

collumns.Add(ListToFix[i]);

}

}

if(rows.Count >= AmountToMatch)

{

isMatched = false;

for(int i = 0; i < rows.Count; i++){

rows[i].isMatched = true;

}

}

if(collumns.Count >= AmountToMatch)

{

isMatched = true;

for(int i = 0; i < collumns.Count; i++){

collumns[i].isMatched = true;

}

}

}

public void MoveGem(Gem gemToMove, Vector3 toPos, Vector3 fromPos)

{

Vector3 center = (fromPos + toPos) * .5f;

center -= new Vector3(0.0f, .1f);

Vector3 riseCenter = fromPos - center;

Vector3 setCenter = toPos - center;

float fracComplete = (Time.time - startTimer)/swapRate;

gemToMove.transform.position = Vector3.Slerp(riseCenter, setCenter, fracComplete);

gemToMove.transform.position += center;

}

public void MoveNegGem(Gem gemToMove, Vector3 toPos, Vector3 fromPos){

}

}


'Computer Language > 유니티' 카테고리의 다른 글

Hexa  (0) 2014.11.25
3인칭 시점  (0) 2014.11.13
사인과 코사인 응용 방안  (0) 2014.11.12
Dialog() 다이아로그  (0) 2014.11.10
더미와 다이어로그  (0) 2014.11.10

using UnityEngine;

using System.Collections;


public class Point{

int X;

int Y;

int Z;

public Point(int x, int y, int z){

X = x;

Y = y;

Z = z;

}

public override string ToString ()

{

return "[ "+ X + " " + Y + " " + Z + "] ";

}

}

public class Hexa : MonoBehaviour {

Point MapPos;

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

public void SetMapPos(Point pos){

MapPos = pos;

}

public void SetMapPos(int x, int y, int z){

MapPos = new Point(x, y, z);

}

public void OnMouseDown(){

PlayerManager pm = PlayerManager.GetInstance();

Debug.Log("A" + MapPos + "OnMouseDown");

pm.MovePlayer(pm.players[pm.CurTurnIndex].CurHexa , this);

}

}



using UnityEngine;

using System.Collections;


public class MapManager : MonoBehaviour {

public static MapManager inst = null;

public GameObject Hexa_prefab;

public float HexW;

public float HexH;

public int MapSizeX;

public int MapSizeY;

public int MapSizeZ;

Hexa[][][] Map;

void Awake(){

inst = this;

SetSizeHexa();

}

public static MapManager GetInstance(){

print ("map manager" + inst);

return inst;

}

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

public void SetSizeHexa(){

HexW = Hexa_prefab.transform.renderer.bounds.size.x;

HexW = Hexa_prefab.transform.renderer.bounds.size.z;

}

public Vector3 GetWorldPos(int x, int y, int z){

float X = 0;

float Z = 0;

X = x * HexW + ( z * HexW * 0.5f);

Z = ( -z ) * HexH * 0.75f;

return new Vector3(X, 0, Z); 

}

public void CreateMap(){

Map = new Hexa[MapSizeX * 2 + 1][][];

for(int x = -MapSizeX; x <= MapSizeX; x++){

Map[x + MapSizeX] = new Hexa[MapSizeY * 2 + 1][];

for(int y = -MapSizeY; y <= MapSizeY; y++){

Map[x + MapSizeX][y + MapSizeY] = new Hexa[MapSizeZ * 2 + 1];

for(int z = -MapSizeZ; z <= MapSizeZ; z++){

if(x + y + z == 0){

Map[x + MapSizeX][y + MapSizeY][z + MapSizeZ] = ((GameObject)Instantiate(Hexa_prefab)).GetComponent<Hexa>();

Vector3 pos = GetWorldPos(x, y, z);

//print (pos);

Map[x + MapSizeX][y + MapSizeY][z + MapSizeZ].transform.position = pos;

Map[x + MapSizeX][y + MapSizeY][z + MapSizeZ].SetMapPos(x, y, z);

}

}

}

}

}

public Hexa GetPlayerHexaPosition(int x, int y, int z){

return Map[x + MapSizeX][y + MapSizeY][z + MapSizeZ];

}

}



using UnityEngine;

using System.Collections;


public class PlayerBase : MonoBehaviour {

public Hexa CurHexa;

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

}


'Computer Language > 유니티' 카테고리의 다른 글

잼과 이동관련  (0) 2014.11.26
3인칭 시점  (0) 2014.11.13
사인과 코사인 응용 방안  (0) 2014.11.12
Dialog() 다이아로그  (0) 2014.11.10
더미와 다이어로그  (0) 2014.11.10

//


// 

// 2013/06/07 N.Kobyasahi

//

using UnityEngine;

using System.Collections;



public class ThirdPersonCamera : MonoBehaviour

{

public float smooth = 3f;

public Transform standardPos; // the usual position for the camera, specified by a transform in the game

Transform frontPos; // Front Camera locater

Transform jumpPos; // Jump Camera locater

bool bQuickSwitch = false; //Change Camera Position Quickly

void Start()

{

//standardPos = GameObject.Find ("CamPos").transform;

if(GameObject.Find ("FrontPos"))

frontPos = GameObject.Find ("FrontPos").transform;


if(GameObject.Find ("JumpPos"))

jumpPos = GameObject.Find ("JumpPos").transform;


//繧ォ繝。繝ゥ繧偵せ繧ソ繝シ繝医☆繧

transform.position = standardPos.position;

transform.forward = standardPos.forward;

}


void FixedUpdate ()

{

if(Input.GetButton("Fire1")) // left Ctlr

{

// Change Front Camera

setCameraPositionFrontView();

}

else if(Input.GetButton("Fire2")) //Alt

{

// Change Jump Camera

setCameraPositionJumpView();

}

else

{

// return the camera to standard position and direction

setCameraPositionNormalView();

}

}


void setCameraPositionNormalView()

{

if(bQuickSwitch == false){

// the camera to standard position and direction

transform.position = Vector3.Lerp(transform.position, standardPos.position, Time.fixedDeltaTime * smooth);

transform.forward = Vector3.Lerp(transform.forward, standardPos.forward, Time.fixedDeltaTime * smooth);

}

else{

// the camera to standard position and direction / Quick Change

transform.position = standardPos.position;

transform.forward = standardPos.forward;

bQuickSwitch = false;

}

}


void setCameraPositionFrontView()

{

// Change Front Camera

bQuickSwitch = true;

transform.position = frontPos.position;

transform.forward = frontPos.forward;

}


void setCameraPositionJumpView()

{

// Change Jump Camera

bQuickSwitch = false;

transform.position = Vector3.Lerp(transform.position, jumpPos.position, Time.fixedDeltaTime * smooth);

transform.forward = Vector3.Lerp(transform.forward, jumpPos.forward, Time.fixedDeltaTime * smooth);

}

}




'Computer Language > 유니티' 카테고리의 다른 글

잼과 이동관련  (0) 2014.11.26
Hexa  (0) 2014.11.25
사인과 코사인 응용 방안  (0) 2014.11.12
Dialog() 다이아로그  (0) 2014.11.10
더미와 다이어로그  (0) 2014.11.10

서버

1. 소켓 생성

2. Connect()

3. worker Thread

4. Main Thread

채팅 송신부 while Scanf_c

5. beginThreadEx(workerThread)

 

클라    로그인

          게임

          채팅

'Computer Language > 데이터 통신' 카테고리의 다른 글

아이템 설계  (0) 2014.12.24
LPSTR, LPCSTR, LPTSTR, LPCTSTR  (0) 2014.12.05

사인 코사인 속도 덜어질때, 점프 , 바운스 띄용띄용, 타격감, 허리업.

코사인 속독 올라갈때

'Computer Language > 유니티' 카테고리의 다른 글

Hexa  (0) 2014.11.25
3인칭 시점  (0) 2014.11.13
Dialog() 다이아로그  (0) 2014.11.10
더미와 다이어로그  (0) 2014.11.10
캐릭터,리그 ,애니메이터  (0) 2014.07.21

using UnityEngine;

using System.Collections;


public class Dialog : MonoBehaviour {

public delegate void OnButtonEvent();

public event OnButtonEvent eventButtonOk;

public event OnButtonEvent eventButtonCancel;

public UILabel Title, Message;

public UIPlayTween PlayDestroy;

public void OnButtonOkClick(){

PlayDestroy.Play(true);

eventButtonOk();

}

public void OnButtonCancelClick(){

PlayDestroy.Play(true);

Destroy(gameObject);

eventButtonCancel();

}

public void OnScaleDown(){

Destroy(this.gameObject);

}

public void OnScaleUp(){

}

// Use this for initialization

void Start () {

}

}


'Computer Language > 유니티' 카테고리의 다른 글

3인칭 시점  (0) 2014.11.13
사인과 코사인 응용 방안  (0) 2014.11.12
더미와 다이어로그  (0) 2014.11.10
캐릭터,리그 ,애니메이터  (0) 2014.07.21
파티클 1번과 2번 2번을 주로 애용  (0) 2014.07.21

+ Recent posts