0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 4
1

Ошибки в коде клонирования объектов

25.10.2018, 20:43. Показов 415. Ответов 2
Метки нет (Все метки)

Вечер добрый. Создаю на данный момент проект по типу Майнкрафта.
И тут у меня появилась проблема. Начал писать я код для игрока, где он должен был в зависимости от нажатой кнопки ставить определенный тип блока. Ошибок выкинула тучу, а в интернете как-то сложно все найти. Поэтому прошу помощи.
p.s Сильно не ругайте. Я- новичок.
Код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System.Collections;
 
public class PDOB : MonoBehaviour {
    public Vector3 delta;
    public GameObject Grass;
    public GameObject Stone;
    public bool g = true;
    public bool s = false; 
    void Update() {
        if (Input.GetMouseButtonDown(0)) {
            Destroy(this.transform.parent.gameObject);
        }
        if (Input.GetKeyDown (KeyCode.Q)) {
            g = false;
            s = true;
        }
        if (Input.GetKeyDown (KeyCode.E)) {
            g = true;
            s = false;
        }
    }
    
    public static void CloneAndPlaceGrass(Vector3 newPosition) {
        GameObject grass = (GameObject)Instantiate(Grass, newPosition, Quaternion.identity);
        grass.transform.position = newPosition;
        grass.name = "PlayerBlockGrass" + grass.transform.position;
    }
    public static void CloneAndPlaceStone(Vector3 newPosition) {
        GameObject stone = (GameObject)Instantiate(Grass, newPosition, Quaternion.identity);
        stone.transform.position = newPosition;
        stone.name = "PlayerBlockStone" + stone.transform.position;
    }
    void OnMouseOver() {
        if (Input.GetMouseButtonDown(1)){
        if (g=false){
        PDOB.CloneAndPlaceGrass(this.transform.parent.transform.position + delta, // N = C + delta
                                         this.transform.parent.gameObject);
        }
        }
        if (Input.GetMouseButtonDown(1)) {
        if (s=false){
            PDOB.CloneAndPlaceStone(this.transform.parent.transform.position + delta, // N = C + delta
                                              this.transform.parent.gameObject);
                }
            }
        }
    }
Ошибки:
Ошибки в коде клонирования объектов
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2018, 20:43
Ответы с готовыми решениями:

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private:...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить...

Ошибки при компиляции - исправить ошибки в коде
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include <conio.h>...

2
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 4
25.10.2018, 20:49  [ТС] 2
небольшой трабл нашел, ошибок нет, но код не работает:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using UnityEngine;
using System.Collections;
 
public class PDOB : MonoBehaviour {
    public Vector3 delta;
    public GameObject Grass;
    public GameObject Stone;
    public bool g = true;
    public bool s = false; 
    void Update() {
        if (Input.GetKeyDown (KeyCode.Q)) {
            g = false;
            s = true;
        }
        if (Input.GetKeyDown (KeyCode.E)) {
            g = true;
            s = false;
        }
    }
    
    public static void CloneAndPlaceGrass(Vector3 newPosition,GameObject origGrass) {
        GameObject grass = (GameObject)Instantiate(origGrass, newPosition, Quaternion.identity);
        grass.transform.position = newPosition;
        grass.name = "PlayerBlockGrass" + grass.transform.position;
    }
    public static void CloneAndPlaceStone(Vector3 newPosition, GameObject origstone) {
        GameObject stone = (GameObject)Instantiate(origstone, newPosition, Quaternion.identity);
        stone.transform.position = newPosition;
        stone.name = "PlayerBlockStone" + stone.transform.position;
    }
    void OnMouseOver(){
        if (Input.GetMouseButtonDown(0)) {
            Destroy(this.transform.parent.gameObject);
        }
        if (Input.GetMouseButtonDown(1)){
        if (g=false){
        PDOB.CloneAndPlaceGrass(this.transform.parent.transform.position + delta, // N = C + delta
                                         this.transform.parent.gameObject);
        }
        }
        if (Input.GetMouseButtonDown(1)) {
        if (s=false){
            PDOB.CloneAndPlaceStone(this.transform.parent.transform.position + delta, // N = C + delta
                                              this.transform.parent.gameObject);
                }
            }
        }
    }
0
230 / 208 / 92
Регистрация: 26.10.2012
Сообщений: 624
26.10.2018, 07:52 3
if (g=false)

Что здесь написано?
По-нормальному тут пишут if(!g), вы хотели написать if(g == false), написали это.
Тут сперва g задается значение false, а потом вызывается if(false), который естественно не выполняется.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2018, 07:52

ошибки в готовом коде(ошибки указаны)
Ввести с клавиатуры строку (кол-во символов не больше 10). И определить ее длину c использованием...

ошибка в коде (конструктор объектов)
Здравствуйте! Написал простой код который определяет место положение героев в игре и колличество...

Ошибки в коде
здравствуйте! помогите найти что не так в коде,выдает ошибки по поводу Re на 73 строке unit Unit1;...

Ошибки в коде.
// 111.cpp: определяет экспортированные функции для приложения DLL. // #include "stdafx.h"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru