forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Новичёк не понимает... Помогите. (http://forum.boolean.name/showthread.php?t=4280)

Cheetos 29.08.2007 05:11

Новичёк не понимает... Помогите.
 
У меня проблема с игрой, я перечитал весь ворум но вобще запутался,
Я хочу чтоб моя машинка начинала набирать скорость постепенно и также сбавляла скорость, а не при нажатии кнопки она двигается, а при опускании становится колом.
Если это можно организовать при помощи команд, то пожалуйста обьясните внятно каие команды куда ставить... А то я вобще запутался.:''(( Не откажите в помощи.

Maestro 29.08.2007 10:43

Re: Новичёк не понимает... Помогите.
 
Код:

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

Global moveZ#

    ; create car
    car = CreateCube()

    ; create camera
    campivot = CreatePivot()
    cam = CreateCamera(campivot)
    PositionEntity cam,0,120,0
    PointEntity  cam,campivot

    ;create light
    lit = CreateLight(campivot)
    PositionEntity lit,0,60,0
    PointEntity lit,campivot

Repeat

MoveEntity car,0,0,moveZ#

If KeyDown(17) Then
    moveZ = moveZ + .02
Else
    moveZ = moveZ - .01
EndIf
If moveZ < 0 Then MoveZ = 0
If KeyDown(30) Then TurnEntity car,0,2,0
If KeyDown(32) Then TurnEntity car,0,-2,0

UpdateWorld()
RenderWorld()

Flip
Until KeyHit(1)


Данил 29.08.2007 12:35

Re: Новичёк не понимает... Помогите.
 
Создай переменную Speed#

В цикле ставь команду MoveEntity car , 0 , 0 , Speed. Эта команда у тебя будет посмтоянно двигать твой car на speed вперёд...

И там, где у тебя функции нажатия клавиш измени на

[blitz]
If KeyDown(200) Then
Speed = Speed + .02 ;Если нажата стрелка вверх, то прибавляем скорость
Else
Speed = Speed - .01 ;Если не нажата, то уменьшаем...
EndIf

If KeyDown(208) Then ;Если нажата стрелка вниз
If Speed > 0 Then Speed = Speed - .02 ;И если скорость больше 0 , то уменьшаем скорость
EndIf
[/blitz]

Вроде всё описал... Гг

IGR 29.08.2007 12:41

Re: Новичёк не понимает... Помогите.
 
Цитата:

If KeyDown(208) Then ;Если нажата стрелка вниз
If Speed > 0 Then Speed = Speed - .02 ;И если скорость больше 0 , то уменьшаем скорость
EndIf

можно зделать задний ход с максимальной скоростью 5:
If KeyDown(208) Then ;Если нажата стрелка вниз
If Speed > -5 Then Speed = Speed - .02 ;И если скорость больше -5 , то уменьшаем скорость
EndIf

Данил 29.08.2007 12:47

Re: Новичёк не понимает... Помогите.
 
Ну да.. чтобы задний ход был... и, наверно, надо поставить ограничение.. ща исправлю...

==>>><<<==
Исправил...

[blitz]
If KeyDown(200) Then
If Speed< 40 Then Speed = Speed + .02 ; Если скорость меньше 40 (то бишь максимальной.. гг) , то прибавляем её...
Else
If Speed > 0 Then Speed = Speed - .01 ; Если скорость больше 0 и клавиша не нажата, то постепенно уменьшаем скорость...
EndIf

If KeyDown(208) Then
If Speed > -5 Then Speed = Speed - .02 ;Если скорость больше -5 , то уменьшаем ее...
EndIf
[/blitz]

Cheetos 29.08.2007 17:00

Re: Новичёк не понимает... Помогите.
 
Спасибо всем! Тепер я всё понял.
А можно такойже вопрос тока насчёт спидометра.?
Хотябы программно

moka 29.08.2007 17:13

Re: Новичёк не понимает... Помогите.
 
Ограничения будут не точны, хоть и наверное более производительны, хотя при миллионе таких операций за цикл только будет разница.
Лучше сперва извенять скорость а только потом проверять если большие или меньше, ставить соответствующее. Но это зависит от переменной на сколько увеличивается скорость. И это так, тонкости ;)

IGR 29.08.2007 17:17

Re: Новичёк не понимает... Помогите.
 
Цитата:

А можно такойже вопрос тока насчёт спидометра.?
т.е. ты хочеш что бы у тебя стрелка показывала какая скорость ??

а если без стрелки то просто: text 20,20,"скорость "+speed

Cheetos 29.08.2007 17:36

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от IGR
т.е. ты хочеш что бы у тебя стрелка показывала какая скорость ??

а если без стрелки то просто: text 20,20,"скорость "+speed

Мне пожалуйста как по легче и поточнее, но я предупреждаю что я со спрайтами не очень дружу.:pardon:

IGR 29.08.2007 17:49

Re: Новичёк не понимает... Помогите.
 
легче и намного производительней будет вывести значение скорости ввиде текста как я тебе показал , но если ты хочеш зделать спидометр, то создавай стрелку и поварачевай ее в зависимости от значения скорости !!

johnk 29.08.2007 17:58

Re: Новичёк не понимает... Помогите.
 
Cheetos
http://www.boolean.name/showthread.php?t=3940
Это про то, как сделать спидометр.

Cheetos 29.08.2007 18:05

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от IGR
легче и намного производительней будет вывести значение скорости ввиде текста как я тебе показал , но если ты хочеш зделать спидометр, то создавай стрелку и поварачевай ее в зависимости от значения скорости !!

Чего-то не получается ввиде текста, а можеш чуть-чуть по понятней(ну что куда ставить и писать). Заранее спасибо.

IGR 29.08.2007 18:16

Re: Новичёк не понимает... Помогите.
 
напиши после renderworld()
и перед flip 0
это:
text 20,20,"speed :"+speed

получится так:
renderworld()
text 20,20,"speed :"+speed
flip 0

Cheetos 29.08.2007 18:57

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от IGR
напиши после renderworld()
и перед flip 0
это:
text 20,20,"speed :"+speed

получится так:
renderworld()
text 20,20,"speed :"+speed
flip 0

Впринципе появилась надпись "speed:0"
но там где 0 ни чего не показывает...(((

moka 29.08.2007 18:58

Re: Новичёк не понимает... Помогите.
 
Cheetos, тогда перед Graphics3D напиши: Global speed#

IGR 29.08.2007 19:03

Re: Новичёк не понимает... Помогите.
 
MoKa, а чё неглобальные не выводит ??

moka 29.08.2007 19:07

Re: Новичёк не понимает... Помогите.
 
IGR Ну я подумал что у него изменение переменной speed в функции, но тогда бы машинка не ездила бы вообще.

Cheetos 29.08.2007 19:20

Re: Новичёк не понимает... Помогите.
 
Нет, не помогает.... Может мне написать код? Может я там что-то не правильно сделал?
Если что, то я использовал код который мне написал Maestro.

johnk 29.08.2007 19:25

Re: Новичёк не понимает... Помогите.
 
Cheetos, говорю же, посмотри тут:
http://www.boolean.name/showthread.php?t=3940
Там рассказывается, как сделать спидометр.

Cheetos 29.08.2007 19:26

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от JohnK
Cheetos, говорю же, посмотри тут:
http://www.boolean.name/showthread.php?t=3940
Там рассказывается, как сделать спидометр.

Я смотрел, но ничего не понял...:@
Я со спрайтами не дружу, я же говорил(тоесть писал...)

Cheetos 29.08.2007 20:41

Re: Новичёк не понимает... Помогите.
 
Вот мой код помогите исправить или добавить что нить для правильной работы:
Цитата:


SeedRnd MilliSecs()
Global speed#
Graphics3D 1024,768,32,1

SetBuffer BackBuffer()
Const Typecub=1,Typecab=2

Collisions Typecub,Typecab,2,1


lit=CreateLight()
pln=CreatePlane()
tex=LoadTexture("file/GRASS2.jpg")
EntityTexture pln,tex
ScaleTexture tex,50,50
cub=LoadMesh("file/BA-64.3DS")
ScaleEntity cub,0.05,0.05,0.05
cam=CreateCamera(cub)
PositionEntity cam,0,5,-10
ScaleEntity cub,1.3,1.3,1.3
CameraViewport cam,0,0,1024,384
PositionEntity cub,-4,0,0
EntityType cub,Typecub
PositionEntity cub,0,0,0
tix=LoadTexture("file/BA-64_diff.tga")
EntityTexture cub,tix
cab=LoadMesh("file/Bugatti.3DS")
com=CreateCamera(cab)
CameraViewport com,0,384,1024,384
PositionEntity com,230,140,0
RotateEntity com,25,90,0
EntityType cab,Typecab
ScaleEntity cab,0.05,0.05,0.05
RotateEntity cab,0,270,0
PositionEntity cab,4,0.68,0
PointEntity cam,cub
a=LoadMesh("file/telega.3DS")
b=LoadTexture("file/wood.jpg")
EntityTexture a,b
ScaleEntity a,0.025,0.025,0.025
RotateEntity a,0,90,0
PositionEntity a,-6,0.6,2
c=LoadMesh("file/House.3DS")
ScaleEntity c,0.025,0.025,0.025
PositionEntity c,-13,6.2,0
RotateEntity c,0,90,0
sound=LoadSound("file/Safri_Duo_03_-_A_Gusta.mp3")
LoopSound(sound)
PlaySound(sound)
q=LoadMesh("file/BMW3ds.3DS")
ScaleEntity q,0.2,0.2,0.2
PositionEntity q,8,0.6,0
RotateEntity q,0,90,0
Repeat
MoveEntity cub,0,0,moveZ#
If KeyDown(200) Then
moveZ = moveZ + .01
Else
moveZ = moveZ - .01
EndIf
If moveZ < 0 Then MoveZ = 0
If KeyDown(203) Then TurnEntity cub,0,2,0
If KeyDown(205) Then TurnEntity cub,0,-2,0
MoveEntity cub,0,0,moveZ#

If KeyDown(200) Then
If Speed< 40 Then Speed = Speed + .02
Else
If
Speed> 0 Then Speed= Speed- .01
EndIf
If KeyDown
(208)Then
If
Speed> -5 Then Speed= Speed- .02
EndIf


MoveEntity q,4,0,0
If KeyDown(54) MoveEntity q,2,0,0
If KeyDown(16) MoveEntity cab,-4,0,0
If KeyDown(17) MoveEntity cab,-.4,0,0
If KeyDown(31) MoveEntity cab,.1,0,0
If KeyDown(30) TurnEntity cab,0,1,0
If KeyDown(32) TurnEntity cab,0,-1,0
If KeyDown(53) MoveEntity cub,0,0,4
If KeyDown(52) MoveEntity cub,0,0,2
If KeyDown(203) TurnEntity cub,0,2,0
If KeyDown(205)TurnEntity cub,0,-2,0
UpdateWorld
RenderWorld()
Text 20,20,"speed:"+speed#
Flip

Until KeyHit(1)



End

Зы: не судите строго я тока учюсь...

Cheetos 30.08.2007 02:33

Re: Новичёк не понимает... Помогите.
 
Люди, мне что никто не поможет? Пожалуйста....

Данил 30.08.2007 08:30

Re: Новичёк не понимает... Помогите.
 
По ходу дела мы его совсем запутали.. оО

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

Как я понял, машинка у тя это q ...

[blitz]
Graphics3D 1024,768,32,1
SeedRnd MilliSecs()
SetBuffer BackBuffer()

Global speed#

Const Typecub=1,Typecab=2

Collisions Typecub,Typecab,2,1

;Этот участок кода я не трогал
lit=CreateLight()
pln=CreatePlane()
tex=LoadTexture("file/GRASS2.jpg")
EntityTexture pln,tex
ScaleTexture tex,50,50
cub=LoadMesh("file/BA-64.3DS")
ScaleEntity cub,0.05,0.05,0.05
ScaleEntity cub,1.3,1.3,1.3
CameraViewport cam,0,0,1024,384
PositionEntity cub,-4,0,0
EntityType cub,Typecub
PositionEntity cub,0,0,0
tix=LoadTexture("file/BA-64_diff.tga")
EntityTexture cub,tix
cab=LoadMesh("file/Bugatti.3DS")
com=CreateCamera(cab)
CameraViewport com,0,384,1024,384
PositionEntity com,230,140,0
RotateEntity com,25,90,0
EntityType cab,Typecab
ScaleEntity cab,0.05,0.05,0.05
RotateEntity cab,0,270,0
PositionEntity cab,4,0.68,0
PointEntity cam,cub
a=LoadMesh("file/telega.3DS")
b=LoadTexture("file/wood.jpg")
EntityTexture a,b
ScaleEntity a,0.025,0.025,0.025
RotateEntity a,0,90,0
PositionEntity a,-6,0.6,2
c=LoadMesh("file/House.3DS")
ScaleEntity c,0.025,0.025,0.025
PositionEntity c,-13,6.2,0
RotateEntity c,0,90,0
sound=LoadSound("file/Safri_Duo_03_-_A_Gusta.mp3")
LoopSound(sound)
PlaySound(sound)
q=LoadMesh("file/BMW3ds.3DS")
ScaleEntity q,0.2,0.2,0.2
PositionEntity q,8,0.6,0
RotateEntity q,0,90,0

cam=CreateCamera(q) ;Правда тут заменил, чтобы камера за машынкой была
PositionEntity cam,0,3,-10 ;И тут
;---------------------------------------------------------------

Repeat

;Тут же у тебя был ещё код maestro

If KeyDown(200) Then
If Speed< 40 Then Speed = Speed + .02
Else
If Speed> 0 Then Speed= Speed- .01
EndIf
If KeyDown(208)Then
If Speed> -5 Then Speed= Speed- .02
EndIf

;тут я убрал код...

If KeyDown(203) TurnEntity q,0,2,0
If KeyDown(205)TurnEntity q,0,-2,0

MoveEntity q,0,0,Speed

UpdateWorld
RenderWorld

Text 20,20,"типа скорость: :"+speed

Flip

Until KeyHit(1)



End
[/blitz]

Я заменил полностью главный цикл игры.. убрал , так сказать то, что не понял... гг... если надо, восстанови... также убрал кучу лишнего.. в общем. там чуть-чуть комментировал... хых, надеюсь, ты разберёшься...:@:@:@


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

У тебя как-то сложно код читается из-за загрузки.. гг... не проще ли было просто в максе разместить все модель где и как надо? а затем просто импортировать общую карту? Оо



А скажи, сли не секрет, зачем тебе управлять сразу надо ыбло 3 объектами? оО

avel 30.08.2007 14:37

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Cheetos
не судите строго я тока учюсь...

учись здесь: http://www.boolean.name/showthread.php?p=52622

IGR 30.08.2007 14:43

Re: Новичёк не понимает... Помогите.
 
to avel : дык напиши пост про спидометр, а то я там такого не нашел !!

avel 30.08.2007 15:11

Re: Новичёк не понимает... Помогите.
 
2IGR а про спидометр уже написали:
http://www.boolean.name/showthread.php?t=3940
но если надо, ок, напишу.

IGR 30.08.2007 15:16

Re: Новичёк не понимает... Помогите.
 
to avel : я видел, но он (Cheetos) же написал, что не понял етого примера !!
нужно еще доступней написать !!

ABTOMAT 30.08.2007 15:30

Re: Новичёк не понимает... Помогите.
 
Cheetos, приучи себя писать каменты в коде чтоб люди которые хотят тебе помочь могли понять что у тебя какая переменная значит, иначе желание помочь исчезнет.
Каменты, как изветно, спасли отца русской демократии...
Всем
Ну вы нашли что новичку посоветовать... Написано ИМХО для средних пользователей но никак не для нубов.

Cheetos 30.08.2007 15:47

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Данил
По ходу дела мы его совсем запутали.. оО

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

Как я понял, машинка у тя это q ...


Я заменил полностью главный цикл игры.. убрал , так сказать то, что не понял... гг... если надо, восстанови... также убрал кучу лишнего.. в общем. там чуть-чуть комментировал... хых, надеюсь, ты разберёшься...:@:@:@


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

У тебя как-то сложно код читается из-за загрузки.. гг... не проще ли было просто в максе разместить все модель где и как надо? а затем просто импортировать общую карту? Оо



А скажи, сли не секрет, зачем тебе управлять сразу надо ыбло 3 объектами? оО

ну там две машинки она моя (управление стрелками), а другая для второго человека(управление A,W,D,S),а у меня машинка q=это бот(который едет прямо)

IGR 30.08.2007 15:52

Re: Новичёк не понимает... Помогите.
 
теперь q - это твоя тачка , а у второго человека ее вообще нет !!

H@NON 30.08.2007 16:01

Re: Новичёк не понимает... Помогите.
 
Вот допустим у тебя есть переменная speed#, от которой зависит скорость перемещения твоей машинки. Просто создай/загрузи картинку, которая будет у тебя индикатором скорости, тобишь стрелка, и поворачивай эту картинку за счет переменной speed#. А если стрелка будет не достаточно поворачиваться или наоборот, слишком быстро, то просто при повороте картинки умножай перменную speed# на нужное тебе значение(koef#). Значение будет вальироваться от 0 до 1 при уменьшении скорости вращения ,и от 1 до бесконечности(условно) при увеличении скорости вращения.

graphics3d ...
...
img_strelka=loadimage("strelka.png",4)
...
;главный цикл
repeat
...
renderworld()
if speed#>0
speed_rot#=speed#*0.1
rotateimage img_strelka, speed_rot#
endif
drawimage img_strelka, x, y, [frame]
flip
until keyhit(1)
end

IGR 30.08.2007 16:09

Re: Новичёк не понимает... Помогите.
 
rotateimage это глюковато !!
лучше уже создать простой tynbnb ? привязать к камере в оприделенной позиции и его поварачевать:

strelka = createcube(camera)
scaleentity strelka,scl#,scl#*5,scl#; подбираем значения
positionentity strelka x,y,z; подбираем значения

потом в цыкле
if speed#>0
speed_rot#=speed#*0.1
rotateentity strelka, speed_rot#
endif

H@NON 30.08.2007 16:12

Re: Новичёк не понимает... Помогите.
 
Тогда уж можно и биллбоардом сделать.
ЗЫЖ ашибочка: Не rotateentity strelka, speed_rot#, а :rotateentity strelka, 0,0,speed_rot#

И еще надо использовать EntityOrder, так как другие объекты могут загородить стрелку, поэтому надо рендерить ее последней. Типо так EntityOrder strelka, 1000.

Данил 30.08.2007 16:20

Re: Новичёк не понимает... Помогите.
 
ну... я сделал так, как понял... надо было объяснить, для чего куча всякого текста ^_^ .. я сделал то, что понял...

Cheetos 30.08.2007 16:54

Re: Новичёк не понимает... Помогите.
 
А почему когда я запускаю программу у меня пишет "Texture does not exist" и выделяет первые строчки по прикреплению текстуры к обьекту или размеру текстуры?

IGR 30.08.2007 16:59

Re: Новичёк не понимает... Помогите.
 
положи текстуры в ту же папку где модель и всё будет работать !!

H@NON 30.08.2007 17:01

Re: Новичёк не понимает... Помогите.
 
Потому что тут приведены лишь куски кода, а то как из них собрать работающее приложение твоя задача. Тут главное понять что тебе не без усилий пытались объяснить, так что уж не обидь =)))

Cheetos 30.08.2007 17:08

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от IGR
положи текстуры в ту же папку где модель и всё будет работать !!

Всё лежит в одной папке,
просто это не работает переделаный код который дал мне Данил.

IGR 30.08.2007 17:24

Re: Новичёк не понимает... Помогите.
 
Цитата:

просто это не работает переделаный код который дал мне Данил
О, скоро сам всё делать будеш, и без помощи других !! :)

avel 30.08.2007 17:30

Re: Новичёк не понимает... Помогите.
 
сначала хотел исправить твой код, но потом посмотрел, сколько там типичных "новичковских" ошибок и решил написать свой. вот, тут все работает и прокомментировано, разбирайся:
Код:

Graphics3D 1024,768,32,1
;загружаем шрифт:
font=LoadFont(courier ,16)
SetFont font
;скорости объектов:
Global speed1#
Global speed2#
;типы для столкновений:
Const Tpln=1, Tc1=2, Tc2=3
;создаем модели для столкновений:
c1=CreateCube()
EntityType c1,Tc1
PositionEntity c1,3,3,3
c2=CreateCube()
PositionEntity c2,-3,3,3
EntityType c2,Tc2
;скалируем их в соответствии с 3Dмоделями:
ScaleEntity c1,1,1,2; тут ты поставиш свои значения
ScaleEntity c2,1,1,2; тут тоже
;делаем их невидимыми: (пока убрал, чтобы было за чем наблюдать)
;EntityAlpha c1,0
;EntityAlpha c2,0
;загружаем меши: (потом сам допишешь)
;m1=LoadMesh("")
;ScaleMesh m1,,,
;m2=LoadMesh("")
;ScaleMesh m2,,,
;создаем камеры:
cam1=CreateCamera()
PositionEntity cam1,3,5,-10
CameraClsColor cam1,100,100,200
CameraViewport cam1,0,0,GraphicsWidth(),GraphicsHeight()*0.5
cam1targ=CreatePivot(c1)
PositionEntity cam1targ,0,5,-10
cam2=CreateCamera()
PositionEntity cam2,-3,5,-10
CameraClsColor cam2,100,100,200
CameraViewport cam2,0,GraphicsHeight()*0.5,GraphicsWidth(),GraphicsHeight()*0.5
cam2targ=CreatePivot(c2)
PositionEntity cam2targ,0,5,-10
;создаем план:
pln=CreatePlane()
EntityType pln,Tpln
;создаем текстуру для плана (у тебя этого куска кода не будет, т. к. ты ее грузишь из файла)
plntex=CreateTexture(256,256)
SetBuffer TextureBuffer(plntex)
Color 150,150,50
Rect 0,0,256,256
Color 50,150,50
Rect 32,32,192,192
;текстурим план:
ScaleTexture plntex,3,3
EntityTexture pln,plntex
;присваиваем нужный буффер и цвет:
SetBuffer BackBuffer()
Color 200,50,50
;прописываем коллизии:
Collisions Tc1,Tc2,2,3
Collisions Tc2,Tc1,2,3
Collisions Tc1,Tpln,2,3
Collisions Tc2,Tpln,2,3
;пошел главный цикл:
Repeat
;двигаем первый объект
If KeyDown(17) Then
        If speed1#<= 0.5 Then
                speed1#=speed1#+0.01
        EndIf
EndIf
If KeyDown(31) Then
        If speed1#>= -0.2 Then
                speed1#=speed1#-0.01
        EndIf
EndIf
speed1#=speed1#*0.99
If KeyDown(30) Then TurnEntity c1,0,1,0
If KeyDown(32) Then TurnEntity c1,0,-1,0
MoveEntity c1,0,0,speed1#
TranslateEntity c1,0,-1,0
;двигаем второй объект
If KeyDown(200) Then
        If speed2#<= 0.5 Then
                speed2#=speed2#+0.01
        EndIf
EndIf
If KeyDown(208) Then
        If speed2#>= -0.2 Then
                speed2#=speed2#-0.01
        EndIf
EndIf
speed2#=speed2#*0.99
If KeyDown(203) Then TurnEntity c2,0,1,0
If KeyDown(205) Then TurnEntity c2,0,-1,0
MoveEntity c2,0,0,speed2#
TranslateEntity c2,0,-1,0
;двигаем 3Dмодели (пока отключил т. к. их нет)
;PositionEntity m1,EntityX(c1,1),EntityY(c1,1),EntityZ(c1,1)
;RotateEntity m1,EntityPitch(c1,1),EntityYaw(c1,1),EntityRoll(c1,1)
;PositionEntity m2,EntityX(c2,1),EntityY(c2,1),EntityZ(c2,1)
;RotateEntity m2,EntityPitch(c2,1),EntityYaw(c2,1),EntityRoll(c2,1)
;двигаем камеры:
dx1#=EntityX( cam1targ,True )-EntityX( cam1 )
dy1#=EntityY( cam1targ,True )-EntityY( cam1 )
dz1#=EntityZ( cam1targ,True )-EntityZ( cam1 )
TranslateEntity cam1,dx1*.1,dy1*.1,dz1*.1
PointEntity cam1,c1
dx2#=EntityX( cam2targ,True )-EntityX( cam2 )
dy2#=EntityY( cam2targ,True )-EntityY( cam2 )
dz2#=EntityZ( cam2targ,True )-EntityZ( cam2 )
TranslateEntity cam2,dx2*.1,dy2*.1,dz2*.1
PointEntity cam2,c2
;обновляем сцену:
UpdateWorld()
RenderWorld()
;пишем скорость:
Text GraphicsWidth()-100,30,"speed: "+Int(speed1#*20)+"km/ч"
Text GraphicsWidth()-100,GraphicsHeight()*0.5+30,"speed: "+Int(speed2#*20)+"km/ч"
Flip
Until KeyHit(1)
End


IGR 30.08.2007 17:36

Re: Новичёк не понимает... Помогите.
 
Цитата:

Text GraphicsWidth()-100,30,"speed: "+Int(speed1#*20)+"km/ч"
Text GraphicsWidth()-100,GraphicsHeight()*0.5+30,"speed: "+Int(speed2#*20)+"km/ч"
зачем Int ??
может надо Str ??
или вообще ненадо !!

Данил 30.08.2007 17:37

Re: Новичёк не понимает... Помогите.
 
Действительно... Cheetos, если мы будем ебе просто исправлять код, то ты так никогда не научишься... тебе надо понять код, а ты, как я вижу, не очень понимаешь, что делаешь .... Задавай вопросы, мы ответим, но ты должен не просто вписать код, ты должен его понять его...

Я нехочу тея обидеть...

Cheetos 30.08.2007 17:40

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Данил
Действительно... Cheetos, если мы будем ебе просто исправлять код, то ты так никогда не научишься... тебе надо понять код, а ты, как я вижу, не очень понимаешь, что делаешь .... Задавай вопросы, мы ответим, но ты должен не просто вписать код, ты должен его понять его...

Я нехочу тея обидеть...

Я понял, но когда мне расписывают код то я начинаю понимать что к чему относится.
СПАСИБО ВСЕМ КТО МНЕ ПОМОГАЕТ.

Cheetos 30.08.2007 17:44

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от avel
сначала хотел исправить твой код, но потом посмотрел, сколько там типичных "новичковских" ошибок и решил написать свой. вот, тут все работает и прокомментировано, разбирайся:
Код:

Graphics3D ...

Большое спасибо!!!
Я теперь более мение разобрался и начинаю толко доробатывать, ну там вставлють модели, и т.д.
А вот у тебя стоит ограничение по скорости, а в какой команде ты меняеш ограничение? Если не трудно ответить.

moka 30.08.2007 18:19

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Cheetos
А вот у тебя стоит ограничение по скорости, а в какой команде ты меняеш ограничение? Если не трудно ответить.

Прочитай внимательно код, и будет понятно, прежде чем задать вопрос постарайся сам найти ответ, так наберёшся опыта, и уже не возникнут такие вот вопросики. ;)

Данил 30.08.2007 18:19

Re: Новичёк не понимает... Помогите.
 
Ужс...

If KeyDown(200) Then
If speed2#<= 0.5 (Это число отвечает за ограничение скорости.. также и смотри в других ifах Then
speed2#=speed2#+0.01
EndIf
EndIf

Cheetos 30.08.2007 18:33

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от MoKa
Прочитай внимательно код, и будет понятно, прежде чем задать вопрос постарайся сам найти ответ, так наберёшся опыта, и уже не возникнут такие вот вопросики. ;)

Я попытаюсь, тока мне надо знать может скорость перевидена в другое значение, например у меня максимальная скорость 10 км/ч а в коде будет другое значение.

ABTOMAT 30.08.2007 19:49

Re: Новичёк не понимает... Помогите.
 
Цитата:

например у меня максимальная скорость 10 км/ч а в коде будет другое значение.
Что ты понимаешь под понятиями "перевидена в другое значение" ?
Может, ты имеешь ввиду что ты хочешь указывать скорость в км/ч, а в Блитзе можно использовать только абстрактные блитзевые "юниты" ?

Тогда тебе нужно знать сколько юнитов составляют 1 метр в игре.

Что касается скорости, то тут однозначно надо использовать дельтатайминг, иначе на разных компах будет разная скорость машины.

Возможно, я неправильно понял твою фразу (раза 3 наверное перечитал). Если хочешь чтобы тебе помогли, описывай свою проблему кратко и понятно (если кратко не выходит, то хотя бы понятно), иначе при всём желании никто помочь не сможет.

Если не знаешь что такое дельтатайменг, то не заморачивайся (пока) а то совсем запутаешься.

avel 30.08.2007 19:50

2Cheetos
насчет того что описал в своем посте impersonalis:
там главное в конце.
все до строчки SetBuffer BackBuffer() - это создание и размещение перед камерой спрайтов, которые ты можешь просто загрузить.
cube=CreateCube() - это надо, чтобы показать, что спидометр круглый (прозрачный спрайт). тебе эта и следующая строчка не нужны.
а вот это самое главное: RotateSprite SP1,-MilliSecs()*0.01 - здесь спрайт-стрелка крутится в зависимости от скорости. в данном случае вместо скорости просто время. замени MilliSecs()*0.01 на speed# и все!
а вообще хочу еще раз отослать тебя в раздел FAQ и журнал Меркулова. ссылки у меня в подписи.

2IGR
RotateImage - не глючная, но она сильно тормозная.
Int() - у меня в коде нужен, чтобы выводилось не 3,659989 км/ч, а 4 км/ч
2Cheetos про ограничение скорости тебе Данил уже написал. можешь заменить это число на переменную, так будет удобнее подбирать нужную скорость. и просмотри получше форум, особенно разделы, которые я тебе рекомендовал в прошлом сообщении, потому что такие вопросы уже не раз задавались.

Данил 30.08.2007 20:46

Re: Новичёк не понимает... Помогите.
 
2Cheetos, как я понимаю, ты вообщем первый раз програмируешь? (ужс, как я ненавижу это слово...)

Cheetos 30.08.2007 21:39

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Данил
2Cheetos, как я понимаю, ты вообщем первый раз програмируешь? (ужс, как я ненавижу это слово...)

Да... За то тяжело в учении, а легко в бою. ;)

Данил 30.08.2007 22:13

Re: Новичёк не понимает... Помогите.
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Cheetos 31.08.2007 00:18

Цитата:

Сообщение от Данил
стукни в асю .. 468909567


Я, тебе? Кста вот моя... 467036161
А вот вопрос на счёт CS4 (редактора карт), можно ли туда всунуть обьекты из 3ds max?

moka 31.08.2007 14:27

Re: Новичёк не понимает... Помогите.
 
Народ! Вас спам не замучает? :) Юзайте тэги Hide чтобы спрятать от гостей свою асю, а то заспамят.

Raiter 31.08.2007 14:42

Re: Новичёк не понимает... Помогите.
 
Бугога! Запускаю спамера.... :crazy:

ABTOMAT 31.08.2007 16:56

Re: Новичёк не понимает... Помогите.
 
MoKa ,я долго парился со спамом в асю пока не наткнулся на Антибот-функцию. Теперь я про него забыл, кстати спам сохраняется в отдельный ботлог который я время от времени читаю. Чего только не спамят! Вот от этого я был просто пацталом:

Цитата:

282972192 : Mon Jun 18 2007 18:22:26 : Запрос авторизации : НЕРЖАВЕЙКА ЦЕНА: от 170.000р/тн !!! (495) 5ОО-85-59
Чего только в асю не предлагают, ё-моё! :crazy:

Данил 31.08.2007 17:02

Re: Новичёк не понимает... Помогите.
 
гг.. ко мне ваще спам не приходит... почти... два раза за всю жизнь.. какая-то тур кампания..

Cheetos 31.08.2007 18:17

Re: Новичёк не понимает... Помогите.
 
А не знаете как избавится от спамеров на электронном ящике?

moka 31.08.2007 18:20

Re: Новичёк не понимает... Помогите.
 
Cheetos, заведи на yandex.ru или если 100мб мало и нада 2гб то на gmail.com, там отличные анти спам системы.

IGR 31.08.2007 18:23

Re: Новичёк не понимает... Помогите.
 
gmail.com рулит !! только плохо что нельзя сайт создать как на яндексе !!

moka 31.08.2007 18:25

Re: Новичёк не понимает... Помогите.
 
Народ а давайте ХАРЕ флудить, или щас придут папочки и теме замок повесят.

Cheetos 31.08.2007 18:41

Re: Новичёк не понимает... Помогите.
 
Да у меня просто свой провайдер со своим ящиком

Цитата:

Народ а давайте Харе флудить, или щас придут папочки и теме замок повесят.

Полностью согласен ;)

А вот в программу CS4 (редактор карт для блица) можно всунуть обьекты из 3ds max?
Мот кто знает?

Данил 31.08.2007 18:49

Re: Новичёк не понимает... Помогите.
 
никогда в этой проге не работал.. что она из себя представляет? оО

Cheetos 31.08.2007 18:54

Re: Новичёк не понимает... Помогите.
 
Цитата:

Сообщение от Данил
никогда в этой проге не работал.. что она из себя представляет? оО

Где-то на этой ветке есть темa o CS4 там и ссылка лежит.


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

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