Результаты поиска
|
|
frai | Дата: Среда, 09 Сентября 2015, 01:48 | Сообщение # 1 | Тема: Реализация управления на TouchScreen |
частый гость
Сейчас нет на сайте
| результат такой же, Если можно пример кода такой функции.
|
|
| |
frai | Дата: Вторник, 08 Сентября 2015, 16:11 | Сообщение # 2 | Тема: Реализация управления на TouchScreen |
частый гость
Сейчас нет на сайте
| Я реализовал управления на Устройстве под Android используя объекты UI Canvas. Но беда в том, что персонаж двигается не плавно, а рывками, при этом на клавиатуре все работает нормально. В канвасе я использовал элементы image с компонентом Ivent Trriger, внутри него добавил компонент Pointer down. Я думаю это связано с тем, что на клавиатуре можно зажимать кнопки, а эти элементы не реагируют на зажимание. Собственно вопрос в том как сделать такое управление на тач скрине чтобы персонаж мог двигаться не рывками, а пока палец нажат на кнопке?
Прилагаю код контроллера персонажа.
Код [HideInInspector] public bool facingRight = true; [HideInInspector]public bool jump = false;
public float moveForce = 365f; public float maxSpeed = 5f; public float jumpForce = 1000f; public Transform groundCheck; float hInput = 0; private bool grounded = false; private Animator anim; private Rigidbody2D rb2d; // Use this for initialization void Awake () { anim = GetComponent<Animator> (); rb2d = GetComponent<Rigidbody2D> ();
} // Update is called once per frame void Update () { grounded = Physics2D.Linecast (transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Ground")); if (Input.GetButton ("Jump") && grounded) { jump = true; }
}
public void Jump() {
grounded = Physics2D.Linecast (transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Ground")); if (Input.GetButton("Jump") && grounded) { jump = true; } }
void FixedUpdate() { float h = Input.GetAxis ("Horizontal"); Debug.Log (h.ToString ()); anim.SetFloat ("Speed", Mathf.Abs (h));
if (h * rb2d.velocity.x < maxSpeed) rb2d.AddForce(Vector2.right * h * moveForce); if (Mathf.Abs (rb2d.velocity.x) > maxSpeed) rb2d.velocity = new Vector2 (Mathf.Sign (rb2d.velocity.x) * maxSpeed, rb2d.velocity.y);
if (h > 0 && !facingRight) Flip (); else if (h < 0 && facingRight) Flip ();
if(jump) { anim.SetTrigger ("Jump"); rb2d.AddForce (new Vector2(0f, jumpForce)); jump = false; }
}
public void Tjump() { Debug.Log ("push"); if ( grounded) { jump = true; } if(jump) { anim.SetTrigger ("Jump"); rb2d.AddForce (new Vector2(0f, 100)); jump = false; }
}
public void StartMoving(float h) { Debug.Log ("push"+" " + h.ToString());
anim.SetFloat ("Speed", Mathf.Abs (h));
if (h * rb2d.velocity.x < maxSpeed) rb2d.AddForce(Vector2.right * h * moveForce); if (Mathf.Abs (rb2d.velocity.x) > maxSpeed) rb2d.velocity = new Vector2 (Mathf.Sign (rb2d.velocity.x) * maxSpeed, rb2d.velocity.y);
if (h > 0 && !facingRight) Flip (); else if (h < 0 && facingRight) Flip (); }
void Flip() { facingRight = !facingRight; Vector3 theScale = transform.localScale; theScale.x *= -1; transform.localScale = theScale; }
Сообщение отредактировал frai - Вторник, 08 Сентября 2015, 16:13 |
|
| |
frai | Дата: Четверг, 23 Мая 2013, 14:45 | Сообщение # 3 | Тема: кнопка в меню |
частый гость
Сейчас нет на сайте
| меня интересует как в show_menu_pos(mouse_x,mouse_y,"button1 | button2", 0) программировать кнопки.
|
|
| |
frai | Дата: Четверг, 23 Мая 2013, 12:42 | Сообщение # 4 | Тема: кнопка в меню |
частый гость
Сейчас нет на сайте
| А как назначить команды на кнопки в этом меня? Ну чтобы на ножате одной кнопки игра заканчивалась ?
|
|
| |
frai | Дата: Среда, 22 Мая 2013, 15:56 | Сообщение # 5 | Тема: кнопка в меню |
частый гость
Сейчас нет на сайте
| а как при этом приостановить игру и заставить кнопки работать?
|
|
| |
frai | Дата: Среда, 22 Мая 2013, 15:28 | Сообщение # 6 | Тема: кнопка в меню |
частый гость
Сейчас нет на сайте
| Как сделать что бы при нажатии на кнопку показывало окно меню и если нажать ещё раз, то возвращала на прежнее место?
Сообщение отредактировал frai - Четверг, 23 Мая 2013, 14:46 |
|
| |
frai | Дата: Суббота, 18 Мая 2013, 08:52 | Сообщение # 7 | Тема: Проблема с унечтожением объекта |
частый гость
Сейчас нет на сайте
| Не проигрывается скрипт смерти персонажа точнее проигрывается через раз вот пример кода :
if health <= 0 { alarm[3] = 20 sprite_index = spr_death }
причём смена спрайта проигрывается всегда а вот аларм проигрывается через раз. Этот код находится в событии столкновения с объектом, который должен его убить , там же идёт отнимание здоровья.Я пробовал вставлять этот код в степ, но аналогичная проблема .В чём ошибка?
|
|
| |
frai | Дата: Вторник, 14 Мая 2013, 12:39 | Сообщение # 8 | Тема: Проблема с унечтожением объекта |
частый гость
Сейчас нет на сайте
| существует объект который, при столкновении с землёй меняет спрайт после чего он должен уничтожаться. Первые два этапа происходят, а вот с 3 проблемы . Вот пример кода укажите на ошибки пожалуйста.
в create if sprite_index = spr_exp
alarm[0] = 10
в collision sprite_index = spr_exp
в alarm[0] instance_destroy()
|
|
| |
frai | Дата: Понедельник, 13 Мая 2013, 09:13 | Сообщение # 9 | Тема: спавм врагов |
частый гость
Сейчас нет на сайте
| спс
Сообщение отредактировал frai - Понедельник, 13 Мая 2013, 09:15 |
|
| |
frai | Дата: Воскресенье, 12 Мая 2013, 15:42 | Сообщение # 10 | Тема: спавм врагов |
частый гость
Сейчас нет на сайте
| нужно чтобы на определённом расстоянии от ГГ появлялись враги вот мой пример кода:
в объекте игрока в степе: alarm[2] = 20
в аларме instance_create(obj_player.x+200,y,obj_runer)
|
|
| |
frai | Дата: Пятница, 10 Мая 2013, 14:47 | Сообщение # 11 | Тема: изменение спрайта |
частый гость
Сейчас нет на сайте
| пост удалён Добавлено (10.05.2013, 14:47) --------------------------------------------- Не совсем понял как это работает
Сообщение отредактировал frai - Пятница, 10 Мая 2013, 14:35 |
|
| |
frai | Дата: Пятница, 10 Мая 2013, 07:17 | Сообщение # 12 | Тема: изменение спрайта |
частый гость
Сейчас нет на сайте
| какой скрипт для того чтобы полоска здоровья следовала за игроком , но всегда оставалась в верхнем углу экрана?
|
|
| |
frai | Дата: Четверг, 09 Мая 2013, 10:17 | Сообщение # 13 | Тема: изменение спрайта |
частый гость
Сейчас нет на сайте
| если координата y объекта меньше координаты y второго объекта - спрайт изменяется. Как это можно реализовать при помощи кода? или какой алгоритм расчёта?
|
|
| |
frai | Дата: Среда, 08 Мая 2013, 20:29 | Сообщение # 14 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| ну это так и есть просто без перезарядки, но это не работает Добавлено (08.05.2013, 20:29) --------------------------------------------- в общем тот скрипт верен.Только при нажатии на кнопку мыши нечего не происходит в чём может быть проблема?
|
|
| |
frai | Дата: Среда, 08 Мая 2013, 11:27 | Сообщение # 15 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| при нажатии на кнопку от переменно отнимается единица и когда переменная ровна 0 уничтожается объект вот пример кода:
в create
d = 3
if d = 0 { instance_destroy() }
событие Left Presed
d = d-1
|
|
| |
frai | Дата: Вторник, 07 Мая 2013, 17:38 | Сообщение # 16 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| Встречается ошибка когда использую событие draw пропадает спрайт
Сообщение отредактировал frai - Вторник, 07 Мая 2013, 17:53 |
|
| |
frai | Дата: Вторник, 07 Мая 2013, 16:41 | Сообщение # 17 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| Встречается ошибка когда использую событие draw пропадает спрайт Добавлено (07.05.2013, 16:41) --------------------------------------------- Как сделать что бы пули которые выпускает игрок на определёно расстоянии исчезали?
|
|
| |
frai | Дата: Понедельник, 06 Мая 2013, 09:51 | Сообщение # 18 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| Нужно что бы персонаж когда стоял снизу платформы при прыжке проходил сквозь неё, а когда приземлялся на неё платформа должна быть твёрдой. Подскажите как это сделать Добавлено (06.05.2013, 09:51) --------------------------------------------- Встречается ошибка когда использую событие draw пропадает спрайт
|
|
| |
frai | Дата: Воскресенье, 05 Мая 2013, 13:50 | Сообщение # 19 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| какая команда в GML отвечает за смену спрайта?
|
|
| |
frai | Дата: Суббота, 04 Мая 2013, 14:49 | Сообщение # 20 | Тема: проблема с размером комнаты |
частый гость
Сейчас нет на сайте
| Цитата (Cx4) А скорость анимации задаётся через image_speed (от 0 до 1) я использовал эту команду но проподает спрайт игрока
|
|
| |