|
3D-программирование Вопросы, касающиеся программирования 3D мира |
19.07.2013, 19:41
|
#1
|
ПроЭктировщик
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
|
Стена из кубов
Наверно это будет один из самых глупых вопросов, но я никак не могу сдружиться с For/Next, и с ихней помощью создать стену из кубов. Прошу помощи в осуществлении и желательно объяснении этого)
|
(Offline)
|
|
19.07.2013, 20:33
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Стена из кубов
For x=1 To 10
; всё что тут находится повторится 10 раз
; при этом переменная x будет каждый раз разная, от 1 до 10
; можно создавать куб и ставить ему координату x
; тогда будет 10 кубов и каждый с разной координатой
Next
Что именно тебе не понятно с For/Next ?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
19.07.2013, 20:47
|
#3
|
ПроЭктировщик
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
|
Re: Стена из кубов
т.е. мне писать
For x=1 To 10
cub=CreateCube()
PositionEntity cub,x,0,0
Next
?
Так они создаются слишком плотно, как избегать это?
|
(Offline)
|
|
19.07.2013, 20:55
|
#4
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,021
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Re: Стена из кубов
Сообщение от CostUm
т.е. мне писать
For x=1 To 10
cub=CreateCube()
PositionEntity cub,x,0,0
Next
?
Так они создаются слишком плотно, как избегать это?
|
С остальными координатами то же самое сделай, или поставь их на Rnd.
|
(Offline)
|
|
19.07.2013, 20:56
|
#5
|
ПроЭктировщик
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
|
Re: Стена из кубов
Ладно, вроде разобрался, спасибо за помощь)
|
(Offline)
|
|
19.07.2013, 21:02
|
#6
|
Знающий
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений (для 166 пользователей)
|
Ответ: Стена из кубов
For x=1 To 10
cub=CreateCube()
PositionEntity cub,x*[число],0,0
Next
Чем больше число, тем дальше будут раздвинуты кубы.
__________________
AMD Sempron(tm) 1.41Ггц, 1024МБ ОЗУ, GeForce 6200 128МБ, WinXP SP3.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо RBK за это полезное сообщение:
|
|
21.07.2013, 04:37
|
#7
|
Бывалый
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений (для 1,133 пользователей)
|
Ответ: Стена из кубов
Вот сделал яркий пример как использовать For next и массив
Global FL_Pitch2#,FL_Yaw2#,FL_Roll2#,FL_XSpeed2#,FL_YSpeed2#,FL_ZSpeed2#
Function FreeLook2(FL_Cam2)
FL_Pitch2#=FL_Pitch2#-(-MouseYSpeed()*0.02) : FL_Pitch2#=FL_Pitch2#/1.2
FL_Yaw2#=FL_Yaw2#+-(MouseXSpeed()*0.02) : FL_Yaw2#=FL_Yaw2#/1.2
MoveMouse (GraphicsWidth()/2,GraphicsHeight()/2)
FL_ZSpeed2#=FL_ZSpeed2#+Float(KeyDown(17)-KeyDown(31))*0.14 : FL_ZSpeed2#=FL_ZSpeed2#/1.14; w & s
FL_XSpeed2#=FL_XSpeed2#+Float(KeyDown(32)-KeyDown(30))*0.14 : FL_XSpeed2#=FL_XSpeed2#/1.14 ; a & d
FL_YSpeed2#=FL_YSpeed2#+Float(KeyDown(19)-KeyDown(33))*0.14 : FL_YSpeed2#=FL_YSpeed2#/1.14 ; r & f
FL_Roll2#=(FL_Yaw2#*1.1)-(FL_XSpeed2#*2.3)
MoveEntity FL_Cam2,FL_XSpeed2#,FL_YSpeed2#+Abs(FL_Roll2#*FL_XSpeed2#)/50,FL_ZSpeed2#
Local cp2#=EntityPitch(FL_Cam2,True)+FL_Pitch2#
If cp2<-89 Then cp2=-89
If cp2>89 Then cp2=89
RotateEntity FL_Cam2,cp2,EntityYaw(FL_Cam2)+FL_Yaw2#,FL_Roll2#
End Function
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera,0,2,-10
light=CreateLight()
RotateEntity light,90,0,0
Global Move#=0
Dim cubeABC(11,11,11)
For a=1 To 11
For b=1 To 11
For c=1 To 11
cubeABC(a,b,c)=CreateSphere()
PositionEntity cubeABC(a,b,c),a*2,b*2,c*2
EntityColor cubeABC(a,b,c),128*a,32*b,78*c
Next
Next
Next
While Not KeyDown( 1 )
FreeLook2(camera)
For a=2 To 11
For b=2 To 11
For c=2 To 11
Move#=Sin((MilliSecs()/(50)*(a*b/c*c/a)))
EntityAlpha cubeABC(a,b,c),Move#
ScaleEntity cubeABC(a,b,c),1*Move#,1*Move#,1*Move#
Next
Next
Next
RenderWorld
Flip
Wend
End
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Wegox за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:06.
|