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

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

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

Ответ
 
Опции темы
Старый 18.02.2007, 16:02   #1
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
BlitzMax

Помогите пожалуйста портануть сей код из B3Dшного в велосипедный,а то я недогоняю.Че то до сих пор с велосипедным ООП не разобралсо,думаю будет проще догнать по анологии.

Graphics 640,480,16,2
SetBuffer BackBuffer()

Global gfx_image = LoadImage("media\player.png")

Type player
Field x#,y#
Field image
End Type

Function create_player(x#,y#)
p.player = New player
p\x# = x#
p\y# = y#
p\image = gfx_image
End Function

Function update_player()
For p.player = Each player
DrawImage p\image,p\x#,p\y#
Next
End Function


create_player(x#,y#)

Repeat

update_player()

Flip
Cls

Forever
(Offline)
 
Ответить с цитированием
Старый 18.02.2007, 17:11   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

держи:
Graphics 640,480,16,0,2

Global gfx_image = LoadImage("media\player.png")
Global player:TPlayer

Type TPlayer
    Field x:Float,y:Float
    Field image:TImage
    
    Function Create:TPlayer(x:Float,y:Float)
        Local p:TPlayer = New TPlayer
        
        p.x = x
        p.y = y
        p.image = gfx_image
        
        Return p
    End Function
    
    Method Update()
        DrawImage image,x,y
    End Method
End Type

player= TPlayer.Create(50,120)

Repeat
    Cls
    
    player.Update()
    
    Flip
Forever
__________________
(Offline)
 
Ответить с цитированием
Старый 18.02.2007, 21:42   #3
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: BlitzMax

У мну новая трабла - не могу устроить маскарад.
Сначало ставлю SetMaskColor 255,0,255,потом имагу гружу с флагом MASKEDIMAGE,а компилеру это фиолетово =)
Наверно я не так делаю,обьясните пожалуста ='(
(Offline)
 
Ответить с цитированием
Старый 18.02.2007, 22:19   #4
jimon
 
Сообщений: n/a
Re: BlitzMax


c0mrad
отличная игра слов ! прочитал я твое сообщение вот так :
Сначало ставлю SetMaskColor 255,0,255,потом ржу нимагу с флагом MASKEDIMAGE,а компилеру это фиолетово =)

5+ !

ps. вот и провели експеримент с перестановкой букв на асоциативном уровне мышления ...
 
Ответить с цитированием
Старый 19.02.2007, 00:03   #5
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

SetBlend MASKBLEND

Ставил?
__________________
(Offline)
 
Ответить с цитированием
Старый 19.02.2007, 14:20   #6
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: BlitzMax

А куда его ставить то?
(Offline)
 
Ответить с цитированием
Старый 19.02.2007, 19:32   #7
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

Да куда угодно..это команда говорит что ты таки хочешь использовать прозрачность по одному цвету...
__________________
(Offline)
 
Ответить с цитированием
Старый 22.02.2007, 18:48   #8
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: BlitzMax

Мну нужно сделать перемещение имаги по нажатию левой лапы мыши на нее.
Была идея сделать так,но я че то не уверен что оно работало бы:
If ImagesCollide(sol.image,sol.x#,sol.y#,0,gfx_mouse, MouseX(),MouseY(),0) And MouseDown(1)
sol.x# = sol.x# + MouseXSpeed()
End If
Однако я обломался отсутствием в Бмахе MouseXSpeed()
Можно ли это по другому сделать?
(Offline)
 
Ответить с цитированием
Старый 22.02.2007, 20:02   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

Ну х-спид это какбы разница координат Х мыши до и после... что тут сложнава?
__________________
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 01:33   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: BlitzMax

например
mousexspeed#=mousex()-old_mousex
old_mousex=mousex()
- ето куда-нибудь в цикл.
За синтаксис не ручаюсь, т.к. "велосипедный"©C0mrad бмакс незнаю.
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 12:06   #11
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: BlitzMax

Спасибо,но что то SpeedXspeed# мне особо не помогло.Изображение не тянеться за мышью по нажатию на него.Мож пример какой нибудь есть по 2D Click'n'Drag?
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 12:23   #12
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

а разве драг н дроп делается через хспид?
Я всегда делал так: по маусдаун запоминаем пару X, Y координат мыши, и пару X,Y координат картинки на тот момент... И выставляем переменную bDrag:Byte = 1 что означает что тащим, в цикле пока наша переменная равна 1, мы рисуем картинку по принципу новая координата Х картинки= координата картинки на момент начала перетаскивания + (текущая координата мыши по х - координата мыши Х на момент начала перетаскивания ), аналогично и У координата...

По отпусканию мыши, мы сбрасываем bDrag = 0, и утверждаем как последние расчитаные координаты картинки как новые.

Вот так немного путано..но работает...
__________________
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 15:32   #13
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: BlitzMax

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 16:09   #14
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: BlitzMax

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 150 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
(Offline)
 
Ответить с цитированием
Старый 23.02.2007, 18:15   #15
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BlitzMax

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 200 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.


1,14 жутко старый байк...
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сеть в BlitzMax Shirase 2D-программирование 1 16.01.2009 01:28
BlitzMax & XML dimanche13 Модули для BlitzMax 5 24.11.2008 11:23
BlitzMax 130 jimon BlitzMax 2 07.05.2008 18:21
BlitzMax & ini dimanche13 Модули для BlitzMax 0 20.12.2007 15:06
BlitzMax 1.26 johnk BlitzMax 21 18.10.2007 17:05


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


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