RPG
| |
Marko | Дата: Суббота, 30.04.2011, 21:31 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| Итак я решил создать собственную RPG уровня Diablo II,Sacred и.т.п. Решил реализовать это при помощи Blitz3D но опыта работы в нем у меня не очень много и по этому я создал данный топик в надежде на квалифицированную помощь И сразу же к вопросам 1. Хотелось бы знать при помощи чего можно создать HUD с изменением размера полос HP и MP по ходу изменения их значения. 2. У меня есть 1 примерчик с инвентарем, как можно сделать чтобы инвентарь из него можно было оформить в виде отдельного окошка как в выше переведенных играх. Пока все дальнейшие вопросы буду задавать по ходу их возникновения. P.S Заранее благодарю за помощь.
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Воскресенье, 01.05.2011, 00:24 | Сообщение # 2 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Не совсем понятно. Ты по первому пункту и по второму лучше скрины покажи, что именно ты хочешь и как это будет выглядеть. И что значит? Quote с изменением размера полос HP и MP Не силён в геймерских аббревиатурах.
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Вторник, 03.05.2011, 11:08 |
|
| |
Marko | Дата: Воскресенье, 01.05.2011, 20:38 | Сообщение # 3 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| 1- Отображение 2 прямоугольников красного и синего цвета Жизненная сила (Health Power "HP") и Магическая сила (Magic Power "MP") при изменении числового значения переменных HP и MP изменения длинны этих прямоугольников. Надеюсь теперь понятнее? 2- У меня есть пример инвентаря он является полно экранным мне хотелось бы оформить его как отдельное окно
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Воскресенье, 01.05.2011, 23:45 | Сообщение # 4 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Теперь понятно отвечаю по первому вопросу Code Global energy,r1,g1,b1,x1,y1,font_power AppTitle"Power" Graphics3D 640,480,16,2 font_power=LoadFont("Arial",18,1) SetBuffer BackBuffer()
camera=CreateCamera() light=CreateLight()
cone=CreateCone( 32 ) PositionEntity cone,0,0,5
While Not KeyDown( 1 )
TurnEntity cone,1,1,1
RenderWorld()
PositionPower(10,GraphicsHeight()-60) ColorPower(255,0,0) Power(100,"Health Power")
PositionPower(10,GraphicsHeight()-38) ColorPower(0,0,255) Power(80,"Magic Power")
Flip Wend End
Function PositionPower(x,y) ;x,y - позиции полосы энергии на экране x1=x:y1=y End Function
Function ColorPower(r,g,b) ;r,g,b - цвет полосы энергии в RGB r1=r:g1=g:b1=b End Function
Function Power(energy,text_$) ;energy - заполнение полосы энергии значения от 0 до 100, text_$ - текст If energy>100 Then energy=100 If energy<0 Then energy=0 Color 255,255,255:Rect x1,y1,104,19,0 Color r1,g1,b1:Rect x1+2,y1+2,energy,15,1 SetFont font_power Text x1+109,y1+1,text_$ End Function А по второму вопросу пока только перетаскивать окно по нажатию на него левой кнопки мыши скопируй этот рисунок в папку с сохранённым кодом Code Global windows_img,x1,y1,x2,y2,mouse_left AppTitle"Windows" Graphics3D 800,600,16,2 font_power=LoadFont("Arial",18,1) SetBuffer BackBuffer()
camera=CreateCamera() light=CreateLight()
cone=CreateCone( 32 ) PositionEntity cone,0,0,5
LoadWindows(100,100,"Vjgu5cRp.jpg")
While Not KeyDown( 1 )
TurnEntity cone,1,1,1
RenderWorld()
DrawWindows()
Flip Wend End
Function LoadWindows(x,y,windows$) windows_img=LoadImage(windows$) x1=x:y1=y Color 1,1,1:Rect x1,y1,ImageWidth(windows_img),ImageHeight(windows_img),1 DrawImage windows_img,x1,y1 End Function
Function DrawWindows() If MouseX()>x1 And MouseX()<x1+ImageWidth(windows_img) Then If MouseY()>y1 And MouseY()<y1+ImageHeight(windows_img) Then If MouseDown(1) Then If mouse_left=0 Then x2=MouseX()-x1:y2=MouseY()-y1:mouse_left=1 Else mouse_left=0 EndIf EndIf EndIf If mouse_left=1 Then x1=MouseX()-x2:y1=MouseY()-y2 EndIf Color 1,1,1:Rect x1,y1,ImageWidth(windows_img),ImageHeight(windows_img),1:Color 255,255,255 DrawImage windows_img,x1,y1 End Function Позже доделаю... завтра на работу, рано вставать
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Понедельник, 02.05.2011, 00:18 |
|
| |
Marko | Дата: Понедельник, 02.05.2011, 12:28 | Сообщение # 5 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| Спасибо хотя в принципе того что ты уже сделал вполне достаточно ну если сделаешь лучше то будет прекрасно.
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Вторник, 03.05.2011, 11:16 | Сообщение # 6 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Quote (Marko) ну если сделаешь лучше то будет прекрасно. Можно и лучше, только уточнить хочу Тебе нужно: 1. Возможность перетаскивать предметы мышкой из слота в слот. 2. Добавлять предметы в слоты. 3. Удалять предметы из слотов. Так?
MiniDemo3D - Blitz3D
|
|
| |
Marko | Дата: Вторник, 03.05.2011, 22:17 | Сообщение # 7 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| Quote (MishanayCool) Можно и лучше, только уточнить хочу Тебе нужно: 1. Возможность перетаскивать предметы мышкой из слота в слот. 2. Добавлять предметы в слоты. 3. Удалять предметы из слотов. Так? Да все именно так
Ошибок не делает тот, кто нечего не делает.
|
|
| |
MishanayCool | Дата: Четверг, 05.05.2011, 06:36 | Сообщение # 8 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Вот держи. Почти всё готово, только осталось перетаскивание предметов из слота в слот сделать. Код разжёвывать пока не буду, когда закончу распишу значение каждой функции. Скачать: InventoryBoard.rar 622.2 КБ
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Четверг, 05.05.2011, 07:20 |
|
| |
Marko | Дата: Среда, 22.06.2011, 22:11 | Сообщение # 9 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline
| и снова я есть цель заделать так чтобы персонаж перемещался по клику мыши у меня есть вот такой код: Code Graphics3D 640,480,16,2 SetBuffer BackBuffer()
Const TypeCur=1,TypeWayp=2
cam=CreateCamera() PositionEntity cam,0,10,0 TurnEntity cam,25,0,0
lit=CreateLight()
cur=CreateSphere(15) EntityColor cur,255,215,0 PositionEntity cur,0,5,10 EntityType cur,TypeCur
waypoint = CreatePivot() PositionEntity waypoint,0,5,10 EntityType waypoint,TypeWayp
pln=CreatePlane() EntityPickMode pln,2 EntityColor pln,0,0,255
Collisions TypeWayp,TypeCur,2,2
While Not KeyHit(1)
If MouseHit(1) Then CameraPick cam,MouseX(),MouseY() PositionEntity waypoint,PickedX(),PickedY()+5,PickedZ() End If
PointEntity cur,waypoint MoveEntity cur,0,0,.1
UpdateWorld
RenderWorld
Flip
Wend
End
но шарик как можно заметить дрожит а если ставиш модедьку то она падает на спину и начинает судорожно дергаться хотелось бы узнать как это моно исправить или же есть ли альтернатива PointEntity ну или как сделать так чтобы когда шарик догоняет точку(Pivot) он прекращал двигаться к ней...
Ошибок не делает тот, кто нечего не делает.
|
|
| |
blitz3d | Дата: Четверг, 23.06.2011, 10:40 | Сообщение # 10 |
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
| Можешь просто проверять расстояние до объекта (EntityDistance). Если расстояние практически равно нулю прекращать двигать объект
перед тобой две таблетки - красная и синяя - какую ты выберешь?
|
|
| |
|