полоска жизни.
|
|
df | Дата: Воскресенье, 07 Декабря 2008, 21:01 | Сообщение # 1 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| подскажите как сделать полоску жизни(,маны,силы) из спрайта??? как сделать изменения для не обычной полоски жизни. такой вот: вот для этого ![](http://legiondf.ucoz.ru/fignia/Statysbar.PNG)
|
|
| |
Прохожий | Дата: Воскресенье, 07 Декабря 2008, 22:17 | Сообщение # 2 |
Группа: Гости
| df, Нафиг тебе из спрайта?
|
|
| |
df | Дата: Воскресенье, 07 Декабря 2008, 22:45 | Сообщение # 3 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| Quote df, Нафиг тебе из спрайта? потому что: 1.Оформление сделано спрайтом по этому красивее и удобней делать полоску спрайтом, шоб подходила под . 2.чтоб плавное смена была Quote Думаю для плавности . Можно сделать так . Если кол-во жизни 100% то показывается полная полоска . Если 90% то другая и т.д. Дайте код, я по словам не спеце писать коды, тем более в данной части
|
|
| |
FART | Дата: Понедельник, 08 Декабря 2008, 11:21 | Сообщение # 4 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| Пример с изображением: Сначала загружаеш допустим картинку: hp = LoadImage("Путь к изображению") Таких изображений загружай столько сколько тебе надо (чем больше тем лудше) Потом создаём типы: type_user=1 (тип игрока) type_bot=4 (тип того что будет отнимать жизни) Присваеваем типы: 1) Игроку: user=CreateCube() PositionEntity user,0,1.5,0 EntityType user,type_user 2) Тому что будет отнимать жизни bot=CreateCube() EntityColor bot,255,1,1 PositionEntity bot,0,3,6 ScaleEntity bot,1,2,1 EntityType bot,type_bot Создаём столкновение между игроком и ботом: Collisions type_user,type_bot,2,2 Создаём жизни: shisni = 100 Загружаем изображения жизни hel1 = LoadImage("hel-1.jpg") hel2 = LoadImage("hel-2.jpg") Делаем услови (Если происходит столкновение то от жизни отнимаем 1 ) : If EntityCollided (user,type_bot) hel = hel - 1 Теперь создаём условие на вывод изображения (между RenderWorld И Flip) : If hel < 50 DrawImage hel2,2,2 EndIf Вродебы всё...Ну вот пример: Code Graphics3D 800,600,32,1 SetBuffer BackBuffer()
type_user=1 type_bot=4
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
Collisions type_user,type_bot,2,2
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
terasa=CreatePlane() tex=LoadTexture("terasa.jpg") ScaleTexture tex,10,10 EntityTexture terasa,tex
hel=100
Repeat
hel1 = LoadImage("hel-1.jpg") hel2 = LoadImage("hel-2.jpg") hel3 = LoadImage("hel-3.jpg")
If EntityCollided (user,type_bot) hel = hel - 1
If KeyDown(57) CameraZoom cam,2 Else CameraZoom cam,1 EndIf
If KeyDown(200) MoveEntity user,0,0,0.08 If KeyDown(208) MoveEntity user,0,0,-0.08 If KeyDown(203) TurnEntity user,0,0.8,0 If KeyDown(205) TurnEntity user,0,-0.8,0
UpdateWorld() RenderWorld() If hel = 100 DrawImage hel1,2,2 EndIf If hel <= 50 DrawImage hel2,2,2 FreeImage(hel1) EndIf If hel < 1 DrawImage hel3,2,2 FreeImage(hel2) EndIf
Flip Until KeyHit(1) End
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
Сообщение отредактировал АФКЕ - Понедельник, 08 Декабря 2008, 11:23 |
|
| |
df | Дата: Понедельник, 08 Декабря 2008, 15:16 | Сообщение # 5 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| спасиб.
|
|
| |
FART | Дата: Среда, 10 Декабря 2008, 08:37 | Сообщение # 6 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| ASoftware, даааа не подумал я....
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
|
|
| |
DarkMedveD | Дата: Среда, 10 Декабря 2008, 18:05 | Сообщение # 7 |
![DarkMedveD](http://igrostroenie.my1.ru/avatar/75/700466.jpg) Профи
Группа: Участники
Сообщений: 260
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Програмист,немного моделлер
Команда: Сам Себе НачальниГ
Проектов: 2
| Ну ппц я думал это самая простая вещь в блитз!!!! Делается всё так PlayerLife=100 ;Это переменная жизней игрока If <Какое то условие,попадание например> <какое то действие,уменьшение например> PlayerLife=PlayerLife-10 EndIf Теперь самое главное Rect 130,610,PlayerLife,10,1 ; Рисование прямоугольника,взависимости от жизни длинна будет будет меняться
Это и есть Zoom-Zoom
|
|
| |
FART | Дата: Среда, 10 Декабря 2008, 18:42 | Сообщение # 8 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| DarkMedveD ты наверное не понял, почитай что написал автор темы...Ему нужно именно спрайтами... Quote (df) подскажите как сделать полоску жизни(,маны,силы) из спрайта???
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
|
|
| |
DarkMedveD | Дата: Четверг, 11 Декабря 2008, 14:59 | Сообщение # 9 |
![DarkMedveD](http://igrostroenie.my1.ru/avatar/75/700466.jpg) Профи
Группа: Участники
Сообщений: 260
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Програмист,немного моделлер
Команда: Сам Себе НачальниГ
Проектов: 2
| ну если из спрайта,то не знаю...а смысл из спрайта???помоему ректом удобнее...
Это и есть Zoom-Zoom
|
|
| |
Optimus | Дата: Четверг, 11 Декабря 2008, 16:41 | Сообщение # 10 |
![Optimus](http://igrostroenie.my1.ru/avatar/08/311469.png) Крутой
Группа: Участники
Сообщений: 646
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Solomanders te@m
Проектов: TripleWar(разработка)
| Спасибо, вы и мне помогли!!!! ASoftware, +1
Internet Explorer-замечательный браузер для того чтобы зайти и скачать Firefox
|
|
| |
df | Дата: Четверг, 11 Декабря 2008, 17:16 | Сообщение # 11 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| Quote ну если из спрайта,то не знаю...а смысл из спрайта???помоему ректом удобнее... ПОЧЕМУ??? ЧТОБ ПОДХОДИЛ ПОД ПАНЕЛЬ СТАТУС-БАРА. посмотрите как сделана он: под неё специально сделаны полоски жизни.
|
|
| |
FART | Дата: Четверг, 11 Декабря 2008, 17:26 | Сообщение # 12 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| ASoftware, а разве получится зделать как сказал ты такую полоску как Пост # 1 ??? Тогда уже можно будет зделать так Загружает картинку, при попадании он удаляет первую картику (FreeImage(перем)) и ставит другую...
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
Сообщение отредактировал АФКЕ - Четверг, 11 Декабря 2008, 17:28 |
|
| |
df | Дата: Четверг, 11 Декабря 2008, 17:34 | Сообщение # 13 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| в коде как это сделать??? и как то проверка слишком резкая не возможно проверить работу
Сообщение отредактировал df - Четверг, 11 Декабря 2008, 17:49 |
|
| |
FART | Дата: Четверг, 11 Декабря 2008, 17:45 | Сообщение # 14 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| df, Пост # 6 (я там сразу так и зделал.) Code Graphics3D 800,600,32,1 SetBuffer BackBuffer()
type_user=1 type_bot=4
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
Collisions type_user,type_bot,2,2
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
terasa=CreatePlane() tex=LoadTexture("terasa.jpg") ScaleTexture tex,10,10 EntityTexture terasa,tex
hel=100
Repeat
hel1 = LoadImage("1.jpg") hel2 = LoadImage("2.jpg") hel3 = LoadImage("3.jpg")
If EntityCollided (user,type_bot) hel = hel - 1
If KeyDown(57) CameraZoom cam,2 Else CameraZoom cam,1 EndIf
If KeyDown(200) MoveEntity user,0,0,0.08 If KeyDown(208) MoveEntity user,0,0,-0.08 If KeyDown(203) TurnEntity user,0,0.8,0 If KeyDown(205) TurnEntity user,0,-0.8,0
UpdateWorld() RenderWorld() DrawImage hel1,2,2 If hel <= 50 FreeImage(hel1) DrawImage hel2,2,2 EndIf If hel < 1 FreeImage(hel2) DrawImage hel3,2,2 EndIf
Flip Until KeyHit(1) End
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
|
|
| |
df | Дата: Четверг, 11 Декабря 2008, 18:02 | Сообщение # 15 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| тупой вопрос а как это сделать на 100 и 50 картинок. и как сделать более плавное избиение перса чтоб было можно проверить работу полоски.
|
|
| |
Harter | Дата: Четверг, 11 Декабря 2008, 18:14 | Сообщение # 16 |
![Harter](http://igrostroenie.my1.ru/avatar/73/336040.jpg) Профи
Группа: Участники
Сообщений: 251
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: NON FORMAT
Проектов: 2
| Спрайты здесь причем? Все это делается с помошью функции Rect.
|
|
| |
FART | Дата: Четверг, 11 Декабря 2008, 18:20 | Сообщение # 17 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| Quote (df) тупой вопрос а как это сделать на 100 и 50 картинок. Ну сначала их нада загрузить hel1 = LoadImage("1.jpg") hel2 = LoadImage("2.jpg") hel3 = LoadImage("3.jpg") hel4 = LoadImage("4.jpg") hel5 = LoadImage("5.jpg") и так далее до: hel100 = LoadImage("100.jpg") Потом: Выводим первыю картинку сразу DrawImage hel1,2,2 И остальные взависимости от условия: If hel <= 99 FreeImage(hel1) hel2 = LoadImage("2.jpg") DrawImage hel2,2,2 EndIf If hel <= 98 FreeImage(hel2) hel3 = LoadImage("3.jpg") DrawImage hel3,2,2 EndIf If hel <= 97 FreeImage(hel3) hel4 = LoadImage("4.jpg") DrawImage hel4,2,2 EndIf и так далее до: If hel <= 1 FreeImage(hel99) hel4 = LoadImage("100.jpg") DrawImage hel100,2,2 EndIf И после этого получается что мы одну полосу делим на 100 кусочком и от одного раза попадания противника отнимаетца 1 (из 100) жизней и 1-на (тоже из 100) полоска.... ![dry](http://s5.ucoz.net/sm/24/dry.gif)
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
|
|
| |
FART | Дата: Четверг, 11 Декабря 2008, 18:29 | Сообщение # 18 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| Harter, с помощью этой команды он нарисует прямоугольник текущего цвета с указанными в параметрах координатами и размерами...) А ему нужен не простой прямоугольник...
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
Сообщение отредактировал АФКЕ - Четверг, 11 Декабря 2008, 18:31 |
|
| |
df | Дата: Четверг, 11 Декабря 2008, 19:15 | Сообщение # 19 |
![df](http://igrostroenie.my1.ru/avatar/85/706154.gif) Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
| жесть тока при загруженных 50 спрайтах(без кода на них) FPS составляет 1-5 че делать??? ну если делать здоровье с помощью функции Rect то подреген все ровно сделан спрайтом (если конечно незя как то сделать скошенную линию через код)
|
|
| |
FART | Дата: Четверг, 11 Декабря 2008, 19:49 | Сообщение # 20 |
![FART](http://igrostroenie.my1.ru/avatar/61/906234.gif) Продвинутый
Группа: Участники
Сообщений: 192
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: ПрогрАммисТ
Команда: DiamonD StudiO
| А может ты лудше чуть измениш полоску ? И зделаеш её допустим типа цилиндра ? И тогда при попадании уменьшать... Хоть не скошеная линия но тоже красиво получится..
Помогло сообщение ? Ставь плюсик в РЕПУТАЦИЮ !
|
|
| |