Четверг, 05 Декабря 2024, 05:35

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
cnstntnДата: Пятница, 11 Декабря 2015, 05:00 | Сообщение # 81 | Тема: Как удалить папку, который файл
заслуженный участник
Сейчас нет на сайте
Винду переустанови biggrin

Добавлено (11 декабря 2015, 05:00)
---------------------------------------------
ну а по идее Unlocker должен помочь

cnstntnДата: Четверг, 10 Декабря 2015, 23:28 | Сообщение # 82 | Тема: Застревание в углу платформы GMS
заслуженный участник
Сейчас нет на сайте
Я думаю здесь проблема в маске объектов, возможно есть какая-нибудь неровность. Да и сам скрипт не вызывает доверия.

Код
//Горизонтальное столкновение (Стены)
if (place_meeting(x+hspeed, y, o_grass))
{
    while(!place_meeting(x+sign(hspeed), y, o_grass))
    {
        x += sign(hspeed);
    }
    hspeed = 0;
}

//Вертикальное столкновение (Полы)
if (place_meeting(x, y+vspeed, o_grass))
{
    while(!place_meeting(x, y+sing(vspeed), o_grass))
    {
        y += sign(vspeed);
    }
    vspeed = 0;
}

Добавлено (10 декабря 2015, 23:28)
---------------------------------------------
И еще. Англ. слово "Grass" переводится как "Трава". Возможно тебе больше подойдет слово "Ground" - Поверхность, Земля, Почва, Грунт.

cnstntnДата: Четверг, 03 Декабря 2015, 22:31 | Сообщение # 83 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
Rutraple, спасибо.

Цитата Rutraple ()
Выкинь, не бери чужие скрипты без необходимости, пока делаешь для себя - разбирайся самостоятельно.

Поверь, необходимость была. Сколько людей, столько и методов решения поставленных задач. К тому же я так быстрее понимаю и разбираюсь.

Цитата Rutraple ()
Оно работает и вроде корректно.

Да работает, но рывками.

Цитата Rutraple ()
И еще непонятно, почему ты не прислушался к beril, который тебе про Vector.Lerp говорил.

Ну... Наверное потому что я только начал вникать в Unity и C# в частности. А ссылки на сайт с абстрактными примерами не лучший помощник.
cnstntnДата: Четверг, 03 Декабря 2015, 06:40 | Сообщение # 84 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Что значит не помогает?

вставьте этот кусок кода в скрипт из вашего урока. будет он работать?

Добавлено (03 декабря 2015, 06:40)
---------------------------------------------
И так. Нашел я значит такой вот C# скрипт в этой теме
Кое что подрихтовал, для себя... Чтоб самому понятнее было. Но так и не допер, куда именно и к чему назначить привязку...

Повторю задачу. Есть игровое поле 26 на 26 клеток. Каждая клетка = 0.8 чего-то там (не знаю в чем измеряется пространство в юнити). Нужно что бы танк всегда останавливался на стыке клеток, то есть округлял свою позицию до 0.8. Но! При этом двигался плавно и округление позиции происходило в момент остановки.
Пункты остановок по оси "X - горизонтально": -9.6, -8.8, -8.0, -7.2, ... 0, 0.8, 1.6, ... 9.6. По оси "Z - вертикально" то же самое. (ось Z вместо Y потому что вид сверху 3D)

Помогите. Мозг закипает.

Код
using UnityEngine;
using System.Collections.Generic;

public class Tank : MonoBehaviour
{
    public float speed;
    public RuntimeAnimatorController[] controllers;

    // массив с текущими нажатыми клавишами (стрелки и wdsa)
    private List<KeyCode> _keysDown = new List<KeyCode>();
    // словарь направлений для аниматора
    private Dictionary<KeyCode, int> _keyDirection = new Dictionary<KeyCode, int>();
    // словарь осей, где каждой стрелочке на клавиатуре соответствует нужное число
    private Dictionary<KeyCode, int> _axixDirection = new Dictionary<KeyCode, int>();

    private int _direction;
    private Vector3 _move;

    private Transform _transform;
    private Animator _animator;

    void Start()
    {
        _transform = GetComponent<Transform>();
        _animator = GetComponent<Animator>();
        _animator.runtimeAnimatorController = controllers[0];
        _direction = 0;
        _move = transform.position;

        // назначаем, какой клавише - какое направление для аниматора
        // !!! возможно здесь нужно будет изменить числа местами
        _keyDirection.Add(KeyCode.UpArrow, 0);
        _keyDirection.Add(KeyCode.RightArrow, 1);
        _keyDirection.Add(KeyCode.DownArrow, 2);
        _keyDirection.Add(KeyCode.LeftArrow, 3);

        _keyDirection.Add(KeyCode.W, 0);
        _keyDirection.Add(KeyCode.D, 1);
        _keyDirection.Add(KeyCode.S, 2);
        _keyDirection.Add(KeyCode.A, 3);

        // назначаем, какой оси соответствует каждая стрелочка
        _axixDirection.Add(KeyCode.UpArrow, 1);
        _axixDirection.Add(KeyCode.RightArrow, 1);
        _axixDirection.Add(KeyCode.DownArrow, -1);
        _axixDirection.Add(KeyCode.LeftArrow, -1);

        _axixDirection.Add(KeyCode.W, 1);
        _axixDirection.Add(KeyCode.D, 1);
        _axixDirection.Add(KeyCode.S, -1);
        _axixDirection.Add(KeyCode.A, -1);
    }

    void Update()
    {
        // если нажата клавиша направления,
        // то заносим эту клавишу в массив
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            _keysDown.Add(KeyCode.UpArrow);
        }

        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            _keysDown.Add(KeyCode.RightArrow);
        }

        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            _keysDown.Add(KeyCode.DownArrow);
        }

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            _keysDown.Add(KeyCode.LeftArrow);
        }

        if (Input.GetKeyDown(KeyCode.W))
        {
            _keysDown.Add(KeyCode.W);
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            _keysDown.Add(KeyCode.D);
        }

        if (Input.GetKeyDown(KeyCode.S))
        {
            _keysDown.Add(KeyCode.S);
        }

        if (Input.GetKeyDown(KeyCode.A))
        {
            _keysDown.Add(KeyCode.A);
        }

        // изначально танчик никуда не двигается
        float h = 0;
        float v = 0;

        // но если какая-нибудь стрелка нажата,
        // то двигаем танчик в том направлении,
        // куда указывает последняя зажатая стрелка
        if (_keysDown.Count != 0)
        {
            _direction = _keyDirection[_keysDown[_keysDown.Count - 1]];

            KeyCode lastkey = _keysDown[_keysDown.Count - 1];

            if (lastkey == KeyCode.RightArrow || lastkey == KeyCode.LeftArrow)
            {
                h = _axixDirection[lastkey];
            }

            if (lastkey == KeyCode.UpArrow || lastkey == KeyCode.DownArrow)
            {
                v = _axixDirection[lastkey];
            }

            if (lastkey == KeyCode.D || lastkey == KeyCode.A)
            {
                h = _axixDirection[lastkey];
            }

            if (lastkey == KeyCode.W || lastkey == KeyCode.S)
            {
                v = _axixDirection[lastkey];
            }
        }

        _move.x = h;

        _move.z = v;
                
        _transform.Translate(_move * speed * Time.deltaTime);
    }

    void FixedUpdate()
    {
        _animator.SetInteger("direction", _direction);
    }

    void OnGUI()
    {
        // здесь ловим событие "отжатия клавиши"
        if (Event.current.type == EventType.KeyUp)
            _keysDown.RemoveAt(_keysDown.LastIndexOf(Event.current.keyCode));

        // это просто для теста, отображается список на экране,
        // текущих зажатых стрелочек
        foreach (KeyCode key in _keysDown)
        {
            GUILayout.Label(key.ToString());
        }

    }
}


Сообщение отредактировал cnstntn - Четверг, 03 Декабря 2015, 06:51
cnstntnДата: Среда, 02 Декабря 2015, 02:44 | Сообщение # 85 | Тема: [Gamiron #11] Akawi
заслуженный участник
Сейчас нет на сайте
Рыбка с ногами. Хммм... Действительно "Странная Рыбка" =)
cnstntnДата: Среда, 02 Декабря 2015, 02:38 | Сообщение # 86 | Тема: [2D] [Platform] Hold Out
заслуженный участник
Сейчас нет на сайте
Цитата GameFilin ()
Сроки проекта: 05.08.2015 ~ 20(30).08.2016

ты видимо шутишь? целый год пилить игру про квадрат?
cnstntnДата: Среда, 02 Декабря 2015, 00:54 | Сообщение # 87 | Тема: ШЕЙДЕРЫ И ЭФФЕКТЫ В UNITY. КНИГА РЕЦЕПТОВ - Кенни Ламмерс
заслуженный участник
Сейчас нет на сайте
Цитата alex-ko ()
Привет парни. Можете залить данную книгу на depositfiles, у меня с данного файлообменика sendspace не скачивает, рвет связь на пол дороге. Уже предпринял неоднократное количество попыток. Не качает.

сейчас залью ссылку в лс пришлю
cnstntnДата: Понедельник, 30 Ноября 2015, 00:50 | Сообщение # 88 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
seaman, это не помогает! я уже спрашивал вас, на вашем канале ютьюб =)
язык конечно учить надо... иначе далеко не уедешь
cnstntnДата: Воскресенье, 29 Ноября 2015, 16:33 | Сообщение # 89 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
Вопрос остается открытым. Ап! так сказать

Как округлить до десятых позицию объекта после его остановки?
p.s. порой элементарные вещи кажутся невыполнимыми... печаль sad
cnstntnДата: Суббота, 28 Ноября 2015, 01:31 | Сообщение # 90 | Тема: The Last Error [Steam Store!]
заслуженный участник
Сейчас нет на сайте
Дал голос. Удачи!!!
cnstntnДата: Суббота, 28 Ноября 2015, 00:57 | Сообщение # 91 | Тема: [3D] - LowPoly - [Survival RPG]
заслуженный участник
Сейчас нет на сайте
SkorpyX, люблю lowpoly, но не в таком виде...
если в итоге все будет выглядеть вот так, то я ЗА.

В любом случае, желаю удачи!! Любая игра про зомби это уже круто wink
cnstntnДата: Суббота, 28 Ноября 2015, 00:48 | Сообщение # 92 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
beril, как вариант.. Но не совсем то.
Мне нужно что бы каждый шаг объекта равнялся, допустим 0,5. Следовательно если объект сделает 2 шага, то он пройдет 1,0.

Добавлено (28 ноября 2015, 00:48)
---------------------------------------------
Я так понимаю это какой-то заговор. Добыл знания, не делись ими ни в коем случае!
Для чего тогда этот форум нужен, если никто не может дать ответ?

Как это выглядит в Construct2
Люди добрые, как cделатьть то же самое, но в C# ?

cnstntnДата: Вторник, 24 Ноября 2015, 02:07 | Сообщение # 93 | Тема: Постоянная привязка объекта к сетке
заслуженный участник
Сейчас нет на сайте
Всем привет!
Игровое поле поделено на клетки. Строго по клеткам расставлены стены.
Как заставить объект всегда попадать в проход между стенами, чтобы его позиция всегда округлялась до нужного значения. Как бы плавное перемещение с остановкой в нужной точке.

Всем спасибо.
cnstntnДата: Понедельник, 23 Ноября 2015, 00:07 | Сообщение # 94 | Тема: Game Maker Studio Master Collection
заслуженный участник
Сейчас нет на сайте
не знаю как в GMS, но в Construct2 это выглядит так:
у obj_weapon создаем дополнительный hotpoint (точка привязки чего-либо к чему-нибудь), назовем его bullet_spawner..
и при нажатии ЛКМ, obj_weapon создает obj_bullet в точке bullet_spawner.

+ указываем угол полета пули...
cnstntnДата: Суббота, 21 Ноября 2015, 16:45 | Сообщение # 95 | Тема: Osteya [Вышли в Steam и App Store]
заслуженный участник
Сейчас нет на сайте
Поздравляю! Видел вашу игру в АппСторе... Графика, увы, не вызвала желания скачать. Но я все же по пробую, я ведь не знал что это творение одного из форумчан.
cnstntnДата: Суббота, 21 Ноября 2015, 16:33 | Сообщение # 96 | Тема: [2D|Android|Roguelike|Free] Caves
заслуженный участник
Сейчас нет на сайте
Круто! Я бы купил даже, будь она для iOS.
На мой взгляд персонажи сливаются с окружением, им бы цвет поярче или обводку сделать..
cnstntnДата: Суббота, 21 Ноября 2015, 03:19 | Сообщение # 97 | Тема: Slender the near
заслуженный участник
Сейчас нет на сайте
Artem93region, оформи тему согласно правилам оформления
Добавь скриншоты, сделай ссылки кликабельными. И народ потянется ;)

И еще... Что ты подразумевал под Slender the near? Быть может ты хотел сказать Slender is near? Слендер рядом, неподалеку..

Тем не менее, желаю удачи!
cnstntnДата: Пятница, 20 Ноября 2015, 21:04 | Сообщение # 98 | Тема: В преддверии Gamiron №11
заслуженный участник
Сейчас нет на сайте
Медицина, доктора, лекарства (зомби тему можно будет притянуть за уши) up
cnstntnДата: Пятница, 20 Ноября 2015, 20:49 | Сообщение # 99 | Тема: SpriteFont 3D
заслуженный участник
Сейчас нет на сайте
YellowAfterlife, спасибо. Будем пробовать
cnstntnДата: Четверг, 19 Ноября 2015, 23:01 | Сообщение # 100 | Тема: SpriteFont 3D
заслуженный участник
Сейчас нет на сайте
Всем привет!
Собственно есть 3D модельки цифр 0-9, так вот как их использовать в качестве шрифта? Привязать к переменной, но как?
В конструкторах все просто... если переменная равна 1, то показать спрайт 1.
Что-нибудь в этом роде.
Спасибо
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг