df | Дата: Суббота, 20 Декабря 2008, 02:35 | Сообщение # 1 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| код сделан под любое количество жизни(на сколько хватит фантазии) надеюсь разберетесь вот собственно код: Code width=800 height=600 Graphics3D width,height,32,1
type_user=1 type_bot=4 type_heat=5
type_ps=6 type_bot1=7
Collisions type_user,type_bot,2,2 Collisions type_user,type_heat,2,2
Collisions type_user,type_bot1,2,2 Collisions type_user,type_ps,2,2
a=CreateTexture(100,100); текстуру можно просто загрузить из файла For t = 0 To 9 SetBuffer TextureBuffer(a) For y = 1 To 500 Plot Rnd(32),Rnd(32) Next Next
SetBuffer BackBuffer() ;===Персонаж==== ;Параметры PlayerHP=1000 PlayerSP=1000
;предел параметров PlayerHP_max=1000 PlayerSP_max=1000
;===Проверка жизни=== bot=CreateCube() EntityColor bot,255,1,1 PositionEntity bot,0,3,6 ScaleEntity bot,1,2,1 EntityType bot,type_bot EntityRadius bot,1.8
bir=CreateCube() EntityColor bir,255,255,0 PositionEntity bir,10,3,6 ScaleEntity bir,1,2,1 EntityType bir,type_heat EntityRadius bir,1.8
;===Проверка маны=== boti=CreateCube() EntityColor boti,0,255,255 PositionEntity boti,-3,3,6 ScaleEntity boti,1,2,1 EntityType boti,type_bot1 EntityRadius boti,1.8
biro=CreateCube() EntityColor biro,0,0,255 PositionEntity biro,-10,3,6 ScaleEntity biro,1,2,1 EntityType biro,type_ps EntityRadius biro,1.8
user=CreateCube() PositionEntity user,0,1.5,0 EntityType user,type_user EntityRadius user,1.8
svet=CreateLight() cam=CreateCamera() EntityParent cam,user PositionEntity cam,0,15,-20
pl=CreatePlane(); сделаем плоскость EntityTexture pl,a; и наклеим на нее свежесделанную текстурку
While Not KeyDown(1)
If KeyDown(200) MoveEntity user,0,0,0.2 If KeyDown(208) MoveEntity user,0,0,-0.2 If KeyDown(203) TurnEntity user,0,0.8,0 If KeyDown(205) TurnEntity user,0,-0.8,0
;===понижатели пареметров+ повышатели параметров If EntityCollided (user,type_bot) PlayerHP = PlayerHP - 1 If PlayerHP<0 Then PlayerHP=0 If EntityCollided (user,type_heat) PlayerHP = PlayerHP+ 1 If PlayerHP>PlayerHP_max Then PlayerHP=PlayerHP_max
If EntityCollided (user,type_bot1) PlayerSP = PlayerSP - 1 If PlayerSP<0 Then PlayerSP=0 If EntityCollided (user,type_ps) PlayerSP= PlayerSP + 1 If PlayerSP>PlayerSP_max Then PlayerSP=PlayerSP_max
;===расчет параметров в процент== PlayerHP_P=PlayerHP/(PlayerHP_max/100);= именно это строка нам дает размер полоски ХР в 100 пикселей PlayerSP_P=PlayerSP/(PlayerSP_max/100)
UpdateWorld()
RenderWorld()
Color 255,255,255 Text 60,20,PlayerHP_max+"/"+PlayerHP Text 60,52,PlayerSP_max+"/"+PlayerSP
;===вывод информации о параметрах=== If PlayerHP=0 Then Text 250,100, "Вы труп" If PlayerSP=0 Then Text 250,100,"Недостаточно Энергии"
Color 255,0,0 Rect 36, 12, PlayerHP_P, 7, 1
Color 0,255,255 Rect 36, 44, PlayerSP_P, 7, 1
Flip
Wend
End P.S. не нужно говорить что нужно было писать в существующей теме, народ не любит долго искать.
|
|
| |
df | Дата: Воскресенье, 21 Декабря 2008, 15:58 | Сообщение # 2 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| ну да. там появляется сообщение"Вы труп" я с настоявшей смертью(на панель сохранении или месту последнего сохранения(в пространстве как в онлайн)) еще не работал.
|
|
| |
diman666777 | Дата: Воскресенье, 21 Декабря 2008, 16:05 | Сообщение # 3 |
Группа: Удаленные
| df, ты труп забиратъ буш? (моделько)
Сообщение отредактировал diman666777 - Воскресенье, 21 Декабря 2008, 19:55 |
|
| |
df | Дата: Воскресенье, 21 Декабря 2008, 17:54 | Сообщение # 4 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| тема про полоску а не про последствия при смерти
|
|
| |
artem | Дата: Воскресенье, 21 Декабря 2008, 18:59 | Сообщение # 5 |
Врубающийся
Группа: Участники
Сообщений: 39
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
| логично
Чем тоньше лед, тем больше хочется проверить, насколько толстый он
|
|
| |
Sharkboy | Дата: Суббота, 03 Января 2009, 05:48 | Сообщение # 6 |
![Sharkboy](http://igrostroenie.ru/avatar/95/698013.jpg) Продвинутый
Группа: Участники
Сообщений: 117
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Команда: GoD
| Quote (df) ;===расчет параметров в процент== PlayerHP_P=PlayerHP/(PlayerHP_max/100);= именно это строка нам дает размер полоски ХР в 100 пикселей PlayerSP_P=PlayerSP/(PlayerSP_max/100) Помоему лучше заменить на PlayerHP_P и PlayerSP_P на 100, тогда при любом значении хп и сп полоски будут выглядеть одинаково.
« Настоящие программеры не сдаются! (…они просто ленятся… =) )»
|
|
| |
ASXC | Дата: Суббота, 03 Января 2009, 10:20 | Сообщение # 7 |
![ASXC](http://s5.ucoz.net/a/05/0917.jpg) Бывалый
Группа: Участники
Сообщений: 93
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
| Sharkboy, если одинаково то какая теберазнца!
|
|
| |