forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Теперь с 3Д.... (http://forum.boolean.name/showthread.php?t=1641)

johnk 05.10.2006 19:13

Теперь с 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)

А поскольку знания на нуле, вопрос: Как сделать чтобы сфера по оси Х не уезжала за Экран, помогите плзз....:SOS:

jimon 05.10.2006 19:34

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)

вот :)

johnk 05.10.2006 19:53

Re: Теперь с 3Д....
 
Спасибо jimon! Как хорошо в нашей стране жить! Ставлю себе новую подпись! Однозначно!

johnk 05.10.2006 20:51

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-кол-во копий) Подскажите люди добрые....

Raiter 05.10.2006 21:10

Re: Теперь с 3Д....
 
сделай функцию для создания кубов. сделай переменную - число кубов. в функции напиши условия: l#<-3 и переменная < 50. еще в функции кроме создания куба, увеличение переменной на 1 единицу. все!

johnk 05.10.2006 21:34

Re: Теперь с 3Д....
 
Спасибо, постараюсь...

johnk 06.10.2006 05:21

Re: Теперь с 3Д....
 
Неа, я не могу такую сложную ф-ию написать! Я же говорил у меня знания на нуле....

HolyDel 06.10.2006 05:59

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 отличий :)

Ins!de 06.10.2006 10:25

Re: Теперь с 3Д....
 
Цитата:

Сообщение от JohnK
Неа, я не могу такую сложную ф-ию написать! Я же говорил у меня знания на нуле....

Тебе поможет во многом этот учебник :)

johnk 06.10.2006 11:18

Re: Теперь с 3Д....
 
Спасибо огромное всем!!! за Учебник тоже ....


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

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