Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 19.07.2013, 19:41   #1
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Стена из кубов

Наверно это будет один из самых глупых вопросов, но я никак не могу сдружиться с For/Next, и с ихней помощью создать стену из кубов. Прошу помощи в осуществлении и желательно объяснении этого)
(Offline)
 
Ответить с цитированием
Старый 19.07.2013, 20:33   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 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
CostUm
ПроЭктировщик
 
Регистрация: 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
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 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
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Стена из кубов

Ладно, вроде разобрался, спасибо за помощь)
(Offline)
 
Ответить с цитированием
Старый 19.07.2013, 21:02   #6
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 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 за это полезное сообщение:
ant0N (21.07.2013), Nex (20.07.2013)
Старый 21.07.2013, 04:37   #7
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 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
__________________
W.E.G.Ox.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Wegox за это полезное сообщение:
Владислав (22.07.2013), ant0N (21.07.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com