Mam problem ze skryptem.

Programowanie w Unity.

Mam problem ze skryptem.

Postprzez Rundest » 15 Lip 2020, 12:46

Witam, tworzę grę Ping Pong 2D. Problem jest ze skryptem a mianowicie gdy uruchamiam skrypt to piłka dostaje spazmów dosłownie wariuje i nie wiem dlaczego.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RuchPilki : MonoBehaviour
{
public Rigidbody2D rigidbody2D;
public float Speed;
public Transform Gracz1;
public Transform Gracz2;
Transform Pilka;
public float timer;

void Start()
{
timer = 3;

}
private void Update()
{
waitForseconds();
}

void waitForseconds()
{
if(timer > 0)
{
timer -= 1 * Time.deltaTime;
}
if(timer <= 0)
{
timer = 0;
}
if (timer == 0)
{
float x = Random.Range(0, 2) == 0 ? -1 : 1;
float y = Random.Range(0, 2) == 0 ? -1 : 1;
rigidbody2D.velocity = new Vector2(Speed * x, Speed * y);
}
}
}
Rundest
 
Posty: 19
Rejestracja: 12 Sty 2020, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Mam problem ze skryptem.

Postprzez Ether_141 » 15 Lip 2020, 23:22

Wariuje bo tak ją zaprogramowałeś. Nie mam pojęcia co to ma za zadanie robić. Po 3 sekundach od startu, co klatkę ten skrypt będzie ci zmieniał velocity piłki raz na 1, raz na -1 (pomnożone przez speed). To jest kompletnie bez sensu napisane. Btw. operacje na fizyce rób w FixedUpdate i po co mnożysz Time.deltaTime przez 1? Każda liczba pomnożona przez 1 zostanie taka sama.
Awatar użytkownika
Ether_141
 
Posty: 507
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości

cron