Что за тик?

Статус
В этой теме нельзя размещать новые ответы.
Что это за тик такой? Объясните тупому)
Это какое то действие происходящее каждую секунду? Или каждое использование нажатием мыши?
Примеры:
Каждые пять тиков, допустим, на 2 пикселя, пока не наберётся сто.

У Forge вроде бы есть понятие TickHandler, а конкретно мне нужно клиентские тики
 

timaxa007

Модератор
5,831
409
672
Тик или по другому:
Код:
Такт (англ. tick) — програмная единица времени Minecraft’а, на которой основана вся игровая механика. Представляет из себя паузу между повторами цикла обновлений игрового мира.
Код:
Игровой цикл повторяется двадцать раз в секунду, поэтому такт — 1⁄20 секунды или 50 миллисекунд.
До 1.7 было TickHandler, с 1.7 они превратились в эвенты.
Код:
FMLCommonHandler.instance().bus().register(new EventTick());
Код:
public class EventTick {
	//Вызывается при update у игрока
	@SubscribeEvent
	public void onPlayerTick(TickEvent.PlayerTickEvent event) {

	}

	//Вызывается при тиках на клиенте
	@SubscribeEvent
	public void onClientTick(TickEvent.ClientTickEvent event) {

	}

	//Вызывается при тиках на сервере
	@SubscribeEvent
	public void onServerTick(TickEvent.ServerTickEvent event) {

	}

	//Вызывается при каждом кадром
	@SubscribeEvent
	public void onRenderTick(TickEvent.RenderTickEvent event) {

	}

	//Вызывается при тиках мира
	@SubscribeEvent
	public void onWorldTick(TickEvent.WorldTickEvent event) {

	}
}
 
608
5
15
Тик, это как биение сердца. Твоё сердце совершает сокращение и перемещает кровь по сосудам, в этот момент клетки "обновляются" и совершают определённые действия.
 

timaxa007

Модератор
5,831
409
672
Код:
int p1 = 0;
int px = 0;

@SubscribeEvent
public void onClientTick(TickEvent.ClientTickEvent event) {

++p1;

if (p1 >= 5) {
p1 = 0;
px += 2;
}

}
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Соответственно если тебе нужно что-то делать каждые полсекунды - ты делаешь это каждый пятый тик.
 
4,045
63
645
Тихам, а чем RenderTickEvent отличается от того же ClientTickEvent?
Они оба обновляются каждые 1/20 секунды, вроде бы...

Если я использую эвент чисто для отрисовки картинки, какой мне лучше использовать?
 

timaxa007

Модератор
5,831
409
672
Liahim, но судя по их названию один как-бы для рендера другой для клиента. Ну как-бы у RenderTickEvent есть ещё START и END, это как-бы pre и post update всяких рендеров. Если значение переменной skipRenderWorld на true. Тогда RenderTickEvent не будет работать, а ClientTickEvent продолжать работать.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху