forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Проблема логики (http://forum.boolean.name/showthread.php?t=4241)

LD 24.08.2007 01:43

Проблема логики
 
Помогите плз. Я делаю рейсинг с помощью ньютона. Проблема вот в чем:
при нажатии клавиши газа у меня в зависимости от передачи увеличиваються vel# и ассеl#. Потом колесо вращаеться по формуле (ассеl*(vеl-скорость вращения колеса)*(vel-скорость вр. Колеса)
надо придумать формулу зависимости vеl и ассеl от скор вр кол, а то если врезаться и держать газ можно разогнаться до прежней скор за секунду

LD 24.08.2007 01:51

Re: Проблема логики
 
Пример кода:
if gaz
vel = vel + 1
accel=accel+1
omegabr = phjointvehiclegettireomega (veh, tirebr)
pnjointvehicleaddtiretorque(veh,tirebr,(accel*(vel- omegabr)*(vel-omegabr))
endif
у меня все сложнее но по этим же формулам. Ссори за краткость - 9 пишу с мобилы. Надеюсь на вашу помощь.

H@NON 24.08.2007 15:55

Re: Проблема логики
 
не все понял из поста, но чтоб заставить колесо крутится относительно скорости перемещения используют формулу: 360.0*(pl_speed/circumference), где circumference - это диаметр колеса помноженный на число Pi.
Помуди с этим...

LD 24.08.2007 18:43

Re: Проблема логики
 
Енто не совсем то:-) мне нужно придумать зависимость мощности от скорости вращения колес, а не просто прибавление + 1

Jet 24.08.2007 22:13

Re: Проблема логики
 
Цитата:

мне нужно придумать зависимость мощности от скорости вращения колес
разве в жизни мощность зависит от скорости вращения колёс? мне всегда думалось, что наоборот..

ЛысыЙ_Чук-Иванчук 24.08.2007 22:22

Re: Проблема логики
 
Крч. тебе нада чем мощнее тем быстрее тачка?

LD 24.08.2007 22:50

Re: Проблема логики
 
Ето есть, но при замедлении машины мощность должна падать... А у меня пока держишь кнопку-растет...

H@NON 25.08.2007 10:49

Re: Проблема логики
 
Так проверяй на столкновение, если да, то отнимай мощность...

LD 25.08.2007 11:43

Re: Проблема логики
 
Я так пробовал, но столкновения бывают разные, по моему лучше завязать на скорости, вот только как... Вообще с физикок все норм, только достает ентот глюк

H@NON 25.08.2007 14:29

Re: Проблема логики
 
проверяй расстояние пройденное за один такт и если оно меньше определенного, то убавлять мощность...
типо так:
repeat
oldX# = entityx(player)
oldY# = entityy(player)
oldZ# = entityz(player)
....
diffX# = newX - oldX
diffY# = newY - oldY
diffZ# = newZ - oldZ
....
newX# = entityx(player)
newY# = entityy(player)
newZ# = entityz(player)
forever

LD 25.08.2007 14:47

Re: Проблема логики
 
А если машина в воздухе? :-) ладно, сам разберусь :-)


Часовой пояс GMT +4, время: 11:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot