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

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

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

Ответ
 
Опции темы
Старый 16.11.2006, 02:05   #1
avel
Бывалый
 
Аватар для avel
 
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений
(для 452 пользователей)
Счастье Окно инвентаря как в Diablo

Вот недавно сделал окно инвентаря как в диабло.
Скидываю его сюда может кому понадобиться.Прога
эта универсальная, т. е. в окне может быть любое
число клеток и они могут быть любого размера.
Правда, картинки подбираемых предметов должны быть
того же размера, что и клетка. И еще один недостаток
- то, что вещи могут занимаь только одну клетку, либо
должны состоять из нескольких клеток не связанных друг
с другом. Если кто исправит этот недостаток, буду весьма
признателен. Если есть какие вопросы или предложения,
пишите на мыло: [email protected]

Вот, кстати вся прога в рабочем состоянии:Вложение 2226
А это типа ее код, но без нужных картинок:
 
;(c) Agnislav Lipcan
; инвентарь
;[email protected]
Global ImH=30 ;<= высота одной клетки
Global ImW=30 ;<= ширина одной клетки
Global nachx=100 ;<= начальное положение поля по x
Global nachy=100 ;<= начальное положение поля по y
Global vertic=4 ;<= клеток вниз
Global goriz=8 ;<= клеток вправо
Graphics3D 500,400,32,2
SetBuffer BackBuffer()
camera=CreateCamera()
CameraClsColor camera,100,100,100
Dim image(goriz*vertic+1)
Dim imageyn(goriz*vertic+1)
i=1
While i<goriz*vertic+1
image(i)=LoadImage("none.png")
imageyn(i)=0
i=i+1
Wend 
 
 
Global fon=LoadImage("fon.png")
Global vlog=0 
image(3)=LoadImage("t.png")
imageyn(3)=1
image(11)=LoadImage("t2.png")
imageyn(11)=1
Global tempimage1=CreateImage(ImW,ImH)
Global tempimage2=CreateImage(ImW,ImH)
Global tempimage3=CreateImage(ImW,ImH)
 
 
 
;main cikles
While Not exitprogram=True
If KeyHit(1)=True Then exitprogram=True
refrash()
If KeyHit(57) Then addim("t.png")
 
UpdateWorld()
RenderWorld()
DrawImage fon,0,0
draw()
 
Flip
Wend
End
;functions
Function draw()
k=1
i=1
j=1
While i<vertic+1
j=1
While j<goriz+1
DrawImage image(k),nachx+j*ImW,nachy+i*ImH
j=j+1
k=k+1
Wend
i=i+1
Wend
If vlog=1 Then DrawImage tempimage1,MouseX()-ImW/2,MouseY()-ImH/2
End Function 
 
Function refrash()
If MouseX()>nachx+ImW And MouseX()<nachx+ImW*(goriz+1) And MouseY()>nachy+ImH And MouseY()<nachy+ImH*(vertic+1) Then
If MouseHit(1) Then
If vlog=0 Then 
nom=(((MouseY()-nachy)/ImH)*goriz)-(goriz-((MouseX()-nachx)/ImW))
tempimage1=CopyImage(image(nom))
image(nom)=LoadImage("none.png")
vlog=1
imageyn(nom)=0
Else 
nom=(((MouseY()-nachy)/ImH)*goriz)-(goriz-((MouseX()-nachx)/ImW))
If imageyn(nom)=0 Then 
tempimage2=CopyImage(image(nom))
image(nom)=CopyImage(tempimage1)
vlog=0
imageyn(nom)=1
Else
tempimage3=CopyImage(image(nom))
image(nom)=CopyImage(tempimage1)
tempimage1=CopyImage(tempimage3)
vlog=1
EndIf 
EndIf 
EndIf
EndIf
End Function 
Function addim(imstr$)
i=1
l=0
While i<goriz*vertic+1
If imageyn(i)=0 Then 
imageyn(i)=1
image(i)=LoadImage(imstr$)
i=goriz*vertic+1
l=1
Else 
i=i+1
l=0
EndIf 
Wend
If l=0 Then RuntimeError "нет места!"
End Function
(Offline)
 
Ответить с цитированием
Старый 16.11.2006, 02:15   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Окно инвентаря как в Diablo

Прикольно, но не вижу ни малейшей похожести на инвентарь в Диабло (по крайней мере Диабло2). Принцип "один предмет - одна клетка" наиболее характерен для ММОРПГ. Хотя еще в Icewind Dale II была такая же система, но там также были ограничения по грузоподъемности.
(Offline)
 
Ответить с цитированием
Старый 17.11.2006, 01:32   #3
avel
Бывалый
 
Аватар для avel
 
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений
(для 452 пользователей)
Re: Окно инвентаря как в Diablo

Сообщение от alcoSHoLiK
Прикольно, но не вижу ни малейшей похожести на инвентарь в Диабло (по крайней мере Диабло2). Принцип "один предмет - одна клетка" наиболее характерен для ММОРПГ. Хотя еще в Icewind Dale II была такая же система, но там также были ограничения по грузоподъемности.
Ну, я же говорю недоработанная еще прога! Сейчас, вот, дорабатываю. Кстати будут предложения, пиши.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Diablo 3 Overlor Игры / Games 10 10.11.2012 22:27
окно? Coks PureBasic 1 22.11.2009 12:36
Окно:Необычное}*HELP* zheland 2D-программирование 1 08.12.2007 23:40


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


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