간시유니티 10기 학습회 제3회(6/22)
1. 개요
시작:19:59
끝:1:40
참가자: 여덟, 여덟, 여덟, 안, 여덟.
2. 옆의 삽화 강좌(하나)
오늘 강좌: 겨드랑이 낫을 만들고 싶다!
방법
1. 먼저 타원 도구를 선택하여 두 개의 타원을 만든다(색상 변경 가능)
↓
2. 좋은 느낌을 쌓기
3. 두 개 선택
4. 쉐이프를 사용하여 도구가 겹치는 부분을 잘라냅니다.
↓
2 겨드랑이 게임에서 무기를 얻는 메커니즘을 알고 싶다!
옆의 게임.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour {
float item1 = 1.0f; //アイテム指定用の変数(確率)を入れる箱
public GameObject punch; //パンチ、キックのゲームオブジェクトを定義
public GameObject kick;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//キー入力がある かつ “item1”によってどのアイテムを生成するかを選択(割合操作)(Invoke)
if (Input.GetKeyDown(KeyCode.Slash) && 1.0f <= item1 && item1 < 4.0f ){
Invoke(“punch1", 0);
}
if (Input.GetKeyDown(KeyCode.Slash) && 4.0f <= item1 && item1 < 10.0f ){
Invoke(“kick1”, 0);
}
//キー入力があったら“1tem1"内の数値をランダムで変更(random)
if (Input.GetKeyDown (KeyCode.Slash) ) {
item1 = Random.Range (1.0f, 10.0f);
}
}
//以下自分で定義したアクション
//パンチ、キックのオブジェクトをスクリプトをつけた人の場所に生成(Instantiate)
void punch1(){
Instantiate (punch, transform.position, transform.rotation);
}
void kick1(){
Instantiate (kick, new Vector2 (transform.position.x, transform.position.y - 0.5f), transform.rotation);
}
}
※ 학습회에서 직접 나에게 가르침을 청했다.
3. Send Messege에서 다른 스크립트로 데미지를 주려고 했는데 잘 안 돼...
이유: SendMessege를 보내는 함수는 서로 다른 스크립트로 같은 이름으로 만들어집니다.
다음은 실패한 예를 간단히 쓰겠습니다.using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test1 : MonoBehaviour {
void Start(){
}
void Update(){
if(hit.if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test2 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの処理
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test3 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの別の処理
}
}
4. 총알은 어떻게 날아요?
싸구려 흉내만 내면 되는 거 아니야?
다음은 안미마법이 날아오르게 하는 코드입니다.
using UnityEngine;
using System.Collections;
public class Mahou1 : MonoBehaviour {
// Mahou prefab
public GameObject WhityBomb;
// 発射点
public Transform unitychan;
// 魔法の速度
public float speed = 100;
RaycastHit hit;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// z キーが押された時
if (Input.GetKeyDown (KeyCode.A) ) {
// 魔法の複製
GameObject WhityBombs = GameObject.Instantiate (WhityBomb)as GameObject;
//5秒後に破壊
Destroy (WhityBombs, 5);
Vector3 force;
force = this.gameObject.transform.forward * speed;
// Rigidbodyに力を加えて発射
WhityBombs.GetComponent<Rigidbody> ().AddForce (force);
// 魔法の位置を調整
WhityBombs.transform.position = unitychan.position;
Mahou ();
}
}
void Mahou(){
Vector3 center = new Vector3 (Screen.width / 2, Screen.height / 2, 0);
Ray ray = Camera.allCameras[0].ScreenPointToRay (center);
float distance = 10f;
if (Physics.Raycast (ray, out hit, distance)) {
if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
}
이상입니다.이번 학습회 수고하셨습니다!!
서기: 안녕히 주무세요
Reference
이 문제에 관하여(간시유니티 10기 학습회 제3회(6/22)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moai1456/items/8927c0c11e8a0c335a12
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
오늘 강좌: 겨드랑이 낫을 만들고 싶다!
방법
1. 먼저 타원 도구를 선택하여 두 개의 타원을 만든다(색상 변경 가능)
↓
2. 좋은 느낌을 쌓기
3. 두 개 선택
4. 쉐이프를 사용하여 도구가 겹치는 부분을 잘라냅니다.
↓
2 겨드랑이 게임에서 무기를 얻는 메커니즘을 알고 싶다!
옆의 게임.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour {
float item1 = 1.0f; //アイテム指定用の変数(確率)を入れる箱
public GameObject punch; //パンチ、キックのゲームオブジェクトを定義
public GameObject kick;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//キー入力がある かつ “item1”によってどのアイテムを生成するかを選択(割合操作)(Invoke)
if (Input.GetKeyDown(KeyCode.Slash) && 1.0f <= item1 && item1 < 4.0f ){
Invoke(“punch1", 0);
}
if (Input.GetKeyDown(KeyCode.Slash) && 4.0f <= item1 && item1 < 10.0f ){
Invoke(“kick1”, 0);
}
//キー入力があったら“1tem1"内の数値をランダムで変更(random)
if (Input.GetKeyDown (KeyCode.Slash) ) {
item1 = Random.Range (1.0f, 10.0f);
}
}
//以下自分で定義したアクション
//パンチ、キックのオブジェクトをスクリプトをつけた人の場所に生成(Instantiate)
void punch1(){
Instantiate (punch, transform.position, transform.rotation);
}
void kick1(){
Instantiate (kick, new Vector2 (transform.position.x, transform.position.y - 0.5f), transform.rotation);
}
}
※ 학습회에서 직접 나에게 가르침을 청했다.
3. Send Messege에서 다른 스크립트로 데미지를 주려고 했는데 잘 안 돼...
이유: SendMessege를 보내는 함수는 서로 다른 스크립트로 같은 이름으로 만들어집니다.
다음은 실패한 예를 간단히 쓰겠습니다.using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test1 : MonoBehaviour {
void Start(){
}
void Update(){
if(hit.if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test2 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの処理
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test3 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの別の処理
}
}
4. 총알은 어떻게 날아요?
싸구려 흉내만 내면 되는 거 아니야?
다음은 안미마법이 날아오르게 하는 코드입니다.
using UnityEngine;
using System.Collections;
public class Mahou1 : MonoBehaviour {
// Mahou prefab
public GameObject WhityBomb;
// 発射点
public Transform unitychan;
// 魔法の速度
public float speed = 100;
RaycastHit hit;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// z キーが押された時
if (Input.GetKeyDown (KeyCode.A) ) {
// 魔法の複製
GameObject WhityBombs = GameObject.Instantiate (WhityBomb)as GameObject;
//5秒後に破壊
Destroy (WhityBombs, 5);
Vector3 force;
force = this.gameObject.transform.forward * speed;
// Rigidbodyに力を加えて発射
WhityBombs.GetComponent<Rigidbody> ().AddForce (force);
// 魔法の位置を調整
WhityBombs.transform.position = unitychan.position;
Mahou ();
}
}
void Mahou(){
Vector3 center = new Vector3 (Screen.width / 2, Screen.height / 2, 0);
Ray ray = Camera.allCameras[0].ScreenPointToRay (center);
float distance = 10f;
if (Physics.Raycast (ray, out hit, distance)) {
if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
}
이상입니다.이번 학습회 수고하셨습니다!!
서기: 안녕히 주무세요
Reference
이 문제에 관하여(간시유니티 10기 학습회 제3회(6/22)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moai1456/items/8927c0c11e8a0c335a12
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour {
float item1 = 1.0f; //アイテム指定用の変数(確率)を入れる箱
public GameObject punch; //パンチ、キックのゲームオブジェクトを定義
public GameObject kick;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//キー入力がある かつ “item1”によってどのアイテムを生成するかを選択(割合操作)(Invoke)
if (Input.GetKeyDown(KeyCode.Slash) && 1.0f <= item1 && item1 < 4.0f ){
Invoke(“punch1", 0);
}
if (Input.GetKeyDown(KeyCode.Slash) && 4.0f <= item1 && item1 < 10.0f ){
Invoke(“kick1”, 0);
}
//キー入力があったら“1tem1"内の数値をランダムで変更(random)
if (Input.GetKeyDown (KeyCode.Slash) ) {
item1 = Random.Range (1.0f, 10.0f);
}
}
//以下自分で定義したアクション
//パンチ、キックのオブジェクトをスクリプトをつけた人の場所に生成(Instantiate)
void punch1(){
Instantiate (punch, transform.position, transform.rotation);
}
void kick1(){
Instantiate (kick, new Vector2 (transform.position.x, transform.position.y - 0.5f), transform.rotation);
}
}
이유: SendMessege를 보내는 함수는 서로 다른 스크립트로 같은 이름으로 만들어집니다.
다음은 실패한 예를 간단히 쓰겠습니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test1 : MonoBehaviour {
void Start(){
}
void Update(){
if(hit.if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test2 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの処理
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test3 : MonoBehaviour {
void Start(){
}
void Update(){
}
void Damage1(){
//何かしらの別の処理
}
}
4. 총알은 어떻게 날아요?
싸구려 흉내만 내면 되는 거 아니야?
다음은 안미마법이 날아오르게 하는 코드입니다.
using UnityEngine;
using System.Collections;
public class Mahou1 : MonoBehaviour {
// Mahou prefab
public GameObject WhityBomb;
// 発射点
public Transform unitychan;
// 魔法の速度
public float speed = 100;
RaycastHit hit;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// z キーが押された時
if (Input.GetKeyDown (KeyCode.A) ) {
// 魔法の複製
GameObject WhityBombs = GameObject.Instantiate (WhityBomb)as GameObject;
//5秒後に破壊
Destroy (WhityBombs, 5);
Vector3 force;
force = this.gameObject.transform.forward * speed;
// Rigidbodyに力を加えて発射
WhityBombs.GetComponent<Rigidbody> ().AddForce (force);
// 魔法の位置を調整
WhityBombs.transform.position = unitychan.position;
Mahou ();
}
}
void Mahou(){
Vector3 center = new Vector3 (Screen.width / 2, Screen.height / 2, 0);
Ray ray = Camera.allCameras[0].ScreenPointToRay (center);
float distance = 10f;
if (Physics.Raycast (ray, out hit, distance)) {
if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
}
이상입니다.이번 학습회 수고하셨습니다!!
서기: 안녕히 주무세요
Reference
이 문제에 관하여(간시유니티 10기 학습회 제3회(6/22)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moai1456/items/8927c0c11e8a0c335a12
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
using System.Collections;
public class Mahou1 : MonoBehaviour {
// Mahou prefab
public GameObject WhityBomb;
// 発射点
public Transform unitychan;
// 魔法の速度
public float speed = 100;
RaycastHit hit;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// z キーが押された時
if (Input.GetKeyDown (KeyCode.A) ) {
// 魔法の複製
GameObject WhityBombs = GameObject.Instantiate (WhityBomb)as GameObject;
//5秒後に破壊
Destroy (WhityBombs, 5);
Vector3 force;
force = this.gameObject.transform.forward * speed;
// Rigidbodyに力を加えて発射
WhityBombs.GetComponent<Rigidbody> ().AddForce (force);
// 魔法の位置を調整
WhityBombs.transform.position = unitychan.position;
Mahou ();
}
}
void Mahou(){
Vector3 center = new Vector3 (Screen.width / 2, Screen.height / 2, 0);
Ray ray = Camera.allCameras[0].ScreenPointToRay (center);
float distance = 10f;
if (Physics.Raycast (ray, out hit, distance)) {
if (hit.collider.tag == "Enemy") {
hit.collider.SendMessage ("Damage1");
}
}
}
}
Reference
이 문제에 관하여(간시유니티 10기 학습회 제3회(6/22)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moai1456/items/8927c0c11e8a0c335a12텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)