|
3D-программирование Вопросы, касающиеся программирования 3D мира |
05.10.2006, 19:13
|
#1
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Теперь с 3Д....
Мне, конечно стыдно, но вот код, моей разработки:
;graphics etc
Graphics3D 1024,768,32
SetBuffer BackBuffer()
Global player,score=0,y
;camera i svet
camera=CreateCamera()
light=CreateLight()
AmbientLight 0,0,0
PositionEntity camera,0,0,-5
PositionEntity light,0,5,-5
LightColor light,255,250,215
;player
player=CreateSphere(32)
ScaleEntity player,.5,.5,.5
PositionEntity player,x#,-2.5,0
;cycle
Repeat
x#=0
If KeyDown(203) =True
x#=x#-.07
MoveEntity player,x#,0,0
EndIf
If KeyDown(205)=True
x#=x#+.07
MoveEntity player,x#,0,0
EndIf
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
А поскольку знания на нуле, вопрос: Как сделать чтобы сфера по оси Х не уезжала за Экран, помогите плзз....
|
(Offline)
|
|
05.10.2006, 19:34
|
#2
|
|
Re: Теперь с 3Д....
;graphics etc
Graphics3D 1024,768,32
SetBuffer BackBuffer()
Global player,score=0,y
;camera i svet
camera=CreateCamera()
light=CreateLight()
AmbientLight 0,0,0
PositionEntity camera,0,0,-5
PositionEntity light,0,5,-5
LightColor light,255,250,215
;player
player=CreateSphere(32)
ScaleEntity player,.5,.5,.5
PositionEntity player,x#,-2.5,0
;cycle
Repeat
x#=0
If KeyDown(203) =True
x#=x#-.07
MoveEntity player,x#,0,0
EndIf
If KeyDown(205)=True
x#=x#+.07
MoveEntity player,x#,0,0
EndIf
If EntityX(player) > 4.2
PositionEntity player,4.2,-2.5,0
EndIf
If EntityX(player) < -4.2
PositionEntity player,-4.2,-2.5,0
EndIf
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
вот
|
|
|
05.10.2006, 19:53
|
#3
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Теперь с 3Д....
Спасибо jimon! Как хорошо в нашей стране жить! Ставлю себе новую подпись! Однозначно!
|
(Offline)
|
|
05.10.2006, 20:51
|
#4
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Теперь с 3Д....
Очередной вопрос:
;graphics etc
Graphics3D 1024,768,32
SetBuffer BackBuffer()
Global player,score=0,y#=.03
;enemy
enemy1=CreateCube()
PositionEntity enemy1,Rnd(-4.2,4.2),4,0
ScaleEntity enemy1,.5,.5,.5
EntityColor enemy1,Rnd(255),Rnd(255),Rnd(255)
;camera i svet
camera=CreateCamera()
light=CreateLight()
AmbientLight 0,0,0
PositionEntity camera,0,0,-5
PositionEntity light,0,5,-5
LightColor light,255,250,215
;player
player=CreateSphere(32)
ScaleEntity player,.5,.5,.5
PositionEntity player,x#,-2.5,0
;cycle
Repeat
x#=0
l#=EntityY(enemy1)
MoveEntity enemy1,0,-y,0
If l# < -3
PositionEntity enemy1,Rnd(-4.2,4.2),4,0
EntityColor enemy1,Rnd(255),Rnd(255),Rnd(255)
EndIf
If KeyDown(203) =True
x#=x#-.1
MoveEntity player,x#,0,0
EndIf
If KeyDown(205)=True
x#=x#+.1
MoveEntity player,x#,0,0
EndIf
If EntityX(player) > 4.2
PositionEntity player,4.2,-2.5,0
EndIf
If EntityX(player) < -4.2
PositionEntity player,-4.2,-2.5,0
EndIf
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
Вот, код, значит мне теперь нужно что бы при достижении l#<-3, появлялся новый куб, но только до определенного числа 50 (50-кол-во копий) Подскажите люди добрые....
|
(Offline)
|
|
05.10.2006, 21:10
|
#5
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Re: Теперь с 3Д....
сделай функцию для создания кубов. сделай переменную - число кубов. в функции напиши условия: l#<-3 и переменная < 50. еще в функции кроме создания куба, увеличение переменной на 1 единицу. все!
|
(Offline)
|
|
05.10.2006, 21:34
|
#6
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Теперь с 3Д....
Спасибо, постараюсь...
|
(Offline)
|
|
06.10.2006, 05:21
|
#7
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Теперь с 3Д....
Неа, я не могу такую сложную ф-ию написать! Я же говорил у меня знания на нуле....
|
(Offline)
|
|
06.10.2006, 05:59
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Теперь с 3Д....
;graphics etc
Graphics3D 1024,768,32
SetBuffer BackBuffer()
Global player,score=0,y#=.3
;enemy
enemy1=CreateCube()
PositionEntity enemy1,Rnd(-4.2,4.2),4,0
ScaleEntity enemy1,.5,.5,.5
EntityColor enemy1,Rnd(255),Rnd(255),Rnd(255)
;camera i svet
camera=CreateCamera()
light=CreateLight()
AmbientLight 0,0,0
PositionEntity camera,0,0,-5
PositionEntity light,0,5,-5
LightColor light,255,250,215
;player
player=CreateSphere(32)
ScaleEntity player,.5,.5,.5
PositionEntity player,x#,-2.5,0
;cycle
cop=0
Repeat
x#=0
l#=EntityY(enemy1)
MoveEntity enemy1,0,-y,0
If l# < -3 And cop<5
PositionEntity enemy1,Rnd(-4.2,4.2),4,0
EntityColor enemy1,Rnd(255),Rnd(255),Rnd(255)
cop=cop+1
EndIf
If KeyDown(203) =True
x#=x#-.1
MoveEntity player,x#,0,0
EndIf
If KeyDown(205)=True
x#=x#+.1
MoveEntity player,x#,0,0
EndIf
If EntityX(player) > 4.2
PositionEntity player,4.2,-2.5,0
EndIf
If EntityX(player) < -4.2
PositionEntity player,-4.2,-2.5,0
EndIf
UpdateWorld
RenderWorld
Text 10,10,cop
Flip
Until KeyHit(1)
;Найдите 10 отличий
|
(Offline)
|
|
06.10.2006, 10:25
|
#9
|
ПроЭктировщик
Регистрация: 10.08.2006
Сообщений: 95
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Теперь с 3Д....
Сообщение от JohnK
Неа, я не могу такую сложную ф-ию написать! Я же говорил у меня знания на нуле....
|
Тебе поможет во многом этот учебник
|
(Offline)
|
|
06.10.2006, 11:18
|
#10
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Теперь с 3Д....
Спасибо огромное всем!!! за Учебник тоже ....
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:11.
|