실버크라운

JSP다운로드
유니티다운로드 블러드라인

실버크라운
main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset = "utf-8"> 
<title>MAIN</title> 
<style> 
  td input { 
    width:120px; 
    display:inline-block; 
    height:50px; 
  } 
  td h2 { 
    text-align:center; 
  } 
</style> 
</head> 
<body> 
<table border="1"> 
<tbody> 
  <tr> 
    <td colspan="3"><h2>차량 현황 보기</h2></td> 
  </tr> 
  <tr> 
    <td><input type="button" value="삽입" onclick="location.href='carInsert.jsp'"></td> 
    <td><input type="button" value="전체보기" onclick="location.href='ShowCar.jsp'"></td> 
    <td><input type="button" value="모두삭제" onclick="location.href='delAllCarServlet.do'"></td> 
  </tr> 
</tbody> 
</table> 
</body> 
</html>

블러드라인

dasfsaafdsafsadfsad

카메라에 붙음

레이캐스트

using UnityEngine; 
using System.Collections; 
 
public class CharacterRay : MonoBehaviour { 
    //CharacterRay는 Camera에 붙어있음 
   
  // Update is called once per frame 
  void Update () { 
      if(Input.GetMouseButtonDown(0)) //클릭시 
        { 
            RaycastHit hit; 
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
            if (Physics.Raycast(ray, out hit)) 
            { 
                if (hit.transform.gameObject.tag == "Enemy") //맞은 오브젝트의 tag가 Enemy일경우 
                { 
                    hit.transform.gameObject.SendMessage("Dead"); 
                    //맞은 gameobject에서 Dead라는 메소드 실행, 인자값없음 
                } 
            } 
        } 
  } 
} 

 

각각 솔져에 붙음

코루틴

 

index는 반드시 Unity상에서 각각 솔져별로 숫자를 다르게 해 줄것, 숫자는 0부터 시작

using UnityEngine; 
using System.Collections; 
 
public class RayStandBy : MonoBehaviour { 
    //RayStandBy는 각각의 soldier들에게 붙어있고, 각 soldier들의 상태를 갖고있음 
 
    public int index = -1; //각각의 index는 여기서 수정하는 것이 아닌 Unity상에서 수정함!! 
    public GameObject explosion; // 
 
    void Start() 
    { 
        if(DisplaySoldier.controller.soldiers[index] == 0) //자신의 index의 값이 0일경우 (꺼진 상태) 
        { 
            gameObject.SetActive(false); //자신의 Active상태를 false로 바꿈(끔) 
        } 
    } 
 
    public void Dead() //CharacterRay에서 실행할 메소드 
    { 
        GetComponent<Animator>().SetBool("dead", true); //애니메이션 변경 
        StartCoroutine(DeadStandby()); //코루틴 실행 
 
    } 
 
    IEnumerator DeadStandby() 
    { 
        yield return new WaitForSeconds(2); //2초대기 
        Instantiate(explosion, transform.position, transform.rotation); //폭발! 
        DisplaySoldier.controller.changeState(index); //DisplaySoldier에서 changeState메소드 실행, 인자값은 각 soldier들의 index 
        Destroy(gameObject);//자기자신 삭제 
    } 
} 

 

바깥에 Empty Object에 붙임

모든 솔져들 컨트롤

using UnityEngine; 
using System.Collections; 
 
public class DisplaySoldier : MonoBehaviour { 
    //DisplaySoldier는 바깥에 EmptyObject에서 모든 soldier들의 Active상태를 관리하기 위해 사용 
 
 
    public static DisplaySoldier controller; 
    //외부에서 쉽게 접근할 수 있도록 controller를 static으로 선언 
     
    public int[] soldiers = { 1, 1, 1, 1 }; //각 솔져들의 기본 상태 
    // 0 : 보이지않음 
    // 1 : 보임 (SetActive(true)) 
 
    void Awake() //시작할때! 
    { 
        controller = this; 
        //자기자신을 등록 
 
        if(PlayerPrefs.GetString("soldiers") != "") //soldiers라는 PlayerPref가 존재할경우 (저장된경우) 
        { 
            string[] ary; //임시변수 
            ary = PlayerPrefs.GetString("soldiers").Split(','); // ','를 기준으로 잘라냄 
 
            for(int i = 0; i < soldiers.Length; i++) 
            { 
                soldiers[i] = System.Convert.ToInt32(ary[i]); //string형을 int형으로 형변환해줌 
            } 
        } 
    } 
    public void changeState(int index) //soldiers 어레이를 수정할 메소드 
    { 
        soldiers[index] = 0; // 0의 경우 SetActive를 False로 변환 
        string ary = ""; //PlayerPref를 string형으로 저장하기 위해 사용할 임시변수 
        for(int i = 0; i < soldiers.Length; i++) 
        { 
            if(i < soldiers.Length -1) 
            { 
                ary += soldiers[i].ToString() + ","; //하나 추가하고 뒤에 ','를 붙여줌 
            } 
            else 
            { 
                ary += soldiers[i].ToString(); // 마지막의 경우 ,를 붙일 이유가 없음 
            } 
        } 
        PlayerPrefs.SetString("soldiers", ary); 
        //solders라는 이름의 PlayerPref을 ary값으로 설정 
    } 
}