Среда, 24 Апреля 2024, 23:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Записи участника » frai [38]
Результаты поиска
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)

я использовал эту команду но проподает спрайт игрока
Форум игроделов » Записи участника » frai [38]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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