forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   BlitzMax (http://forum.boolean.name/forumdisplay.php?f=104)
-   -   Вопрос-Ответ (для новичков BlitzMax) (http://forum.boolean.name/showthread.php?t=13756)

SBJoker 30.11.2011 15:50

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
именно так, на столько сколько нехватает до требуемой точки на экране.

Greymem 30.11.2011 15:51

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Есть вопрос, как узнать сколько мне нехватает до этой точки? =)
Если известна только координата этой точки XY

SBJoker 30.11.2011 17:20

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
ну смотри, если ты картинку желаешь рисовать в 200, 300
то до начала координат тебе получается -200, -300 так?
Это уже вращение вокруг начала координат получается.

Значит точка_назначения(x,y) - точка_нахождения_картинки(x,y) = смещение_handle_картинки(x,y)

т.е. из координат требуемой точки вращения вычитаем координаты положения видимой части картинки, т.е. если бы у неё был неизмененный хэндл.

Greymem 01.12.2011 08:49

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Хммм, а изначально для той картинки которую хочу вращать вокруг точки которой нет на картинке, Handle куда устанавливать то? =)

SBJoker 01.12.2011 10:43

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Никуда, он и так изначально в 0,0

Greymem 02.12.2011 08:46

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
А если мне помимо поворота вокруг произвольной точки, нужно еще и по своей оси потом повернуть?

SBJoker 02.12.2011 10:48

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Тога придётся напрячь штуки из вашей подписи.

Greymem 02.12.2011 11:53

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от SBJoker (Сообщение 211961)
Тога придётся напрячь штуки из вашей подписи.

Установить хендл с минусом, прокрутить относительно произвольной точки, установить хендл в центр, прокрутить вокруг оси.
Прокатит? =)

SBJoker 02.12.2011 11:59

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Нет не прокатит.
Ты путаешь две вещи, вращение картинки, и перемещение картинки по кругу относительно какой либо точки.

Первое делается с помощью команд вращения картинки и если надо изменения хэндла картинки.

Второе обыкновенная математика и капля тригонометрии.

Greymem 05.12.2011 08:21

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Короче. То на то и выходит
Сначала вычисляем новые X,Y, обновляем месторасположение объекта с помощью функции которую я нашёл на оф форуме.
Потом только устанавливаем хендл, прокручиваем по своей оси, и уже получаем угол самого объекта, при неизменных координатах

Nerd 29.12.2011 17:53

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Код:

...
Global LUA:Byte Ptr
LUA = luaL_newstate()
lua_register(LUA,"SpawnPlayerL".ToCString(),SpawnPlayerL)
...
Function SpawnPlayerL:Int(l:Byte Ptr)
...

Ругается на lua_register "Cannot convert Byte Ptr to String", чяднт?

Nerd 30.12.2011 00:17

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Без ToCString нормально идёт, не верьте BlitzEtCetera!(пофиксил статью на ней)

Черный крыс 30.12.2011 01:01

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
На BlitzEtCetera все написано правильно.

Просто если ты передаешь литерал ( в виде "аля_что_то" ) то компилятор передаст прямой указатель, тоесть Сишную-строку.

Nex 07.06.2012 08:47

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Я тут в примере наткнулся на строчку кода и хочу узнать для чего так сделано? :)
Код:

Field NewConnectionCallback (Conn:TCPSocketConnection)
В примере используется Strict

Жека 07.06.2012 09:03

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Я посмотрел код примера, эти штуки являются callback'ами, в эти поля присваиваются имена функций, которые будут далее использоваться.
Крутая штука, я не знал что так можно.
Вот весь код:
Код:

Rem

        Title:  TCPSocket Server
       
        Author:  Jim Pishlo  (CoderLaureate)
                    ([email protected])
       
End Rem

Strict

Type TCPSocketServer
       
        'Properties
        Field MyPort:Int = 3849
        Field MySocket:TSocket
        Field MyStream:TSocketStream
        Field Connections:TList = New TList
        Field StopSeq:String = "~r~n"
       
        'Callback handles
        Field NewConnectionCallback(Conn:TCPSocketConnection)
        Field MsgRcvdCallback(Conn:TCPSocketConnection)
        Field LostConnectionCallback(Conn:TCPSocketConnection)

       
        'Constructor (for lack of a better word)
        Function Create:TCPSocketServer(_Port:Int = 3849)
                Local s:TCPSocketServer = New TCPSocketServer
                s.MyPort = _Port
                s.MySocket = CreateTCPSocket()
                s.MyStream = CreateSocketStream(s.MySocket)
                s.MySocket.Bind(_Port)
                s.MySocket.Listen(0)
                Return s
        End Function
       
        'The main method.
        'Monitors connections and triggers events.
        Method Listen()
                Local newConn:TSocket = MySocket.Accept(0)
                If newConn <> Null Then
                        Local conn:TCPSocketConnection = TCPSocketConnection.Create(Self,newConn)
                        'Add the new connection to the collection
                        Connections.AddLast(conn)
                        'If a callback has been assigned call it.
                        If NewConnectionCallback <> Null Then
                                NewConnectionCallback(conn)        'Pass a refernce to the new connection
                        End If
                End If
               
                'Clean up closed connections
                For Local c:TCPSocketConnection = EachIn Connections
                        If Not c.MySocket.Connected() Then
                                If LostConnectionCallback <> Null Then
                                        LostConnectionCallback(c)
                                End If
                                Connections.Remove(c)        'Remove connection from collection
                        End If
                Next
               
                'Receive Data from connections
                'Trigger callback if neccesary
                For Local c:TCPSocketConnection = EachIn Connections
                        If c.MySocket.Connected() Then
                                Local t:String = c.Receive()
                                If t <> "" Then
                                        If MsgRcvdCallback <> Null Then
                                                MsgRcvdCallback(c)
                                                c.Buffer = ""
                                        End If
                                End If
                        End If
                Next
        End Method
       
        Method Broadcast(Message:String, Conn:TCPSocketConnection = Null)
                If Conn <> Null Then
                        Conn.Send(Message)
                Else
                        Local c:TCPSocketConnection
                        For c = EachIn Connections
                                If c.MySocket.Connected() Then
                                        c.Send(Message)
                                End If
                        Next
                End If       
        End Method
       
End Type

Type TCPSocketConnection
        Field MyID:String
        Field MyServer:TCPSocketServer
        Field MySocket:TSocket
        Field MyStream:TSocketStream
        Field Buffer:String = ""
        Field StopSeq:String
       
        Function Create:TCPSocketConnection(s:TCPSocketServer, NewSocket:TSocket)
                Local c:TCPSocketConnection = New TCPSocketConnection
                c.MyServer = s
                c.MySocket = NewSocket
                c.MyStream = CreateSocketStream(c.MySocket)
                c.StopSeq = c.MyServer.StopSeq
                c.MyID = DottedIP(c.MySocket.RemoteIP())
                Return c
        End Function

        Method Send(Text:String)
                MySTream.WriteString(Text)
        End Method

        Method Receive:String()
                Local nBytes:Int = MySocket.ReadAvail()
                Local s:String = StopSeq
                If nBytes Then
                        Local in:String = ReadString(MyStream,nBytes)
                        Buffer:+ in
                        If Buffer.Length >= s.Length And Right$(Buffer,s.Length) = s Then
                                Local t:String = Buffer.Replace(s,"") 'Strip out the stop sequence
                                Return t
                        End If
                End If
        End Method
       
End Type


Function CreateTCPSocketServer:TCPSocketServer(_Port:Int = 3849)
        Return TCPSocketServer.Create(_Port)
End Function





'Test Code:  This is a simple Telnet Chat Server.  Run this program, then
'            open up a command prompt and type:

'                                Telnet localhost 3849
'
'                        You can telnet into this server from anywhere in the world
'            and do *very basic* text chatting.  To log in from another
'            computer, type:
'
'                                Telnet {host computer ip} 3849
'
'                        This is just a sample program to show you what you can do
'                        with the TCPSocketServer object.
'----------------------------------------------------------------------

'Create callback functions for interaction with the TCPSocketServer Object.

'Function to handle data recieved by server
'------------------------------------------
Function TextHandler(C:TCPSocketConnection)
        C.MyServer.BroadCast(C.MyID + ": " + C.Buffer)
End Function

'Greet new users and assign an ID
'--------------------------------
Function Greet(C:TCPSocketConnection)
        C.MyID = "User [" + MilliSecs() + "]"
        C.MyServer.BroadCast("Welcome!~r~n",C)
        C.MyServer.BroadCast(C.MyID + " has entered the room.~r~n")       
End Function

'Alert other users when a user leaves
'------------------------------------
Function LostConnection(C:TCPSocketConnection)
        C.MyServer.BroadCast("~r~n" + C.MyID + " has left the room.~r~n~r~n")
End Function

'Create an Instance of the TCPSocketServer Class
'-------------------------------------------------
Global Server:TCPSocketServer = CreateTCPSocketServer()

'Assign Function Pointers to Server's callback handles
'-----------------------------------------------------
Server.MsgRcvdCallback = TextHandler
Server.NewConnectionCallback = Greet
Server.LostConnectionCallback = LostConnection



'The Main Loop
'--------------
While Not KeyHit(KEY_ESCAPE)
        Server.Listen()                'That's it!
Wend


Nerd 07.06.2012 14:14

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
У кого есть откомпиленный модуль bah.cairo, плз, скиньте.

А то задолбался плясать с бубном :(
Цитата:

D:\BlitzMax\bin>bmk.exe makemods -a bah.cairo
Compiling:externs.bmx
flat assembler version 1.69.14 (710394 kilobytes memory)
4 passes, 22773 bytes.
Compiling:pixman-access.c
Compiling:pixman-access-accessors.c
Compiling:pixman-cpu.c
Compiling:pixman-gradient-walker.c
Compiling:pixman-region16.c
Compiling:pixman-region32.c
Compiling:pixman-image.c
Compiling:pixman-implementation.c
Compiling:pixman-combine32.c
Compiling:pixman-combine64.c
Compiling:pixman-general.c
Compiling:pixman.c
Compiling:pixman-fast-path.c
D:/BlitzMax/mod/bah.mod/cairo.mod/src/pixman/pixman-fast-path.c:1874: error: 'PI
XMAN_OP_' undeclared here (not in a function)
Build Error: failed to compile D:/BlitzMax/mod/bah.mod/cairo.mod/src/pixman/pixm
an-fast-path.c
D:\BlitzMax\bin>PAUSE
Для продолжения нажмите любую клавишу . . .

Пробовал подставлять другие версии pixman, не помогает.

Черный крыс 07.06.2012 14:28

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Компилятор споткнулся, так как в коде идет вызов\обращение к несуществующей метке.

Судя по названию "PIXMAN_OP_" - автор опечатался, попробуй заменить на "PIXMAP_OP_"

Nerd 07.06.2012 14:58

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 

Не, pixman - это название либы. Слова pixmap в коде нет.
Там код полон define'ов, поэтому невозможно понять где именно ошибка. Судя по тому, что в других версиях та же ошибка, это только у меня такое :(
Сам модуль брал отсюда - http://code.google.com/p/maxmods/dow...c.zip&can=2&q= и вроде там тоже никто не жаловался на ошибки.
А нет ли ещё модулей для рисования векторной графики?

Randomize 07.06.2012 22:10

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Maximus- the BlitzMax module manager
Скачивает, распаковывает, устанавливает с учётом зависимостей модули для BlitzMax. Всё что надо - иметь MinGW. Остальное эта прога сделает сама.

Nex 18.06.2012 06:49

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Как вращать картинку вокруг центра объекта со смещением по x/y?
(для раскуривания: есть объект, сбоку (по "-x") у него двигатель и надо прицепить туда партиклы.)
Через Sin и Cos получается крутить только по кругу. :(

FireOwl 18.06.2012 09:43

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 

Я тут поразмышлял немного, и выходит, что "двигатели" двигаются по своей окружности, центр которой в это время в свою очередь двигается по окружности :-) с разницей в 90 градусов от "главного" угла. Радиус меньшей окружности равен сдвигу по х двигателей относительно центра "корабля".

Nex 18.06.2012 11:30

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от FireOwl (Сообщение 230618)

Я тут поразмышлял немного, и выходит, что "двигатели" двигаются по своей окружности, центр которой в это время в свою очередь двигается по окружности :-) с разницей в 90 градусов от "главного" угла. Радиус меньшей окружности равен сдвигу по х двигателей относительно центра "корабля".

И? :-D

Черный крыс 18.06.2012 11:38

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Не совсем понятен вопрос... а как тебе еще двигать если не по кругу ?
Вектора спасут оца русской демократии

Nex 18.06.2012 11:52

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Diablo1909 (Сообщение 230625)
Не совсем понятен вопрос... а как тебе еще двигать если не по кругу ?
Вектора спасут оца русской демократии

Не, я не хочу быть отцом ру.демократии.
Надо прицепить партиклы к двигателю корабля. Двигатели находятся по бокам то есть просто по кругу не прокатит, надо как то еще и смещение по x/y высчитывать, но не выходит.
Хотя один человек с ГД.ру подсказал мне решение, но там как то много строк вышло хотя мне казалось что там все просто будет. :(

FireOwl 18.06.2012 12:19

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Это не "И", это решение.
Твой вопрос непонятен.
Два варианта:
1) Корабль летает по кругу. Я нарисовал этот случай.
Вроде:
PHP код:

x,y        // координаты центра его круговой траектории
dx = ...  // сдвиг двигателя относительно центра корабля
= ...    // радиус его траектории
for(a=0;a<x;a+=0.1){
   
ax cos(a)*ray sin(a)*r;
   
mx cos(a+PI/2)*dxmy sin(a+PI/2)*dx;
   
ship.draw(x+axy+ay)
   
particle.add(x+mx+ax ,y+my+ay)


2) Корабль летает сам по себе, направляемый вектором перемещения.
Тогда все вообще элементарно.

Черный крыс 18.06.2012 12:47

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Так в чем вопрос то ?
Не можешь сдвинуть обьект вокруг другого ?
Кури тему про локальные системы координат обьекта, вектора и про систему родитель\ребенок.

Animan2010 18.06.2012 18:40

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
У меня вопрос:
Когда поворачиваешь объект только по горизонтали или по вертикали, всё норм.
Но когда повернёшь объект только по горизонтали и лишь потом по вертикали (ну или наоборот), второй поворот будет происходить немного в другую сторону от ожидаемого, ведь ось чуток сместилась.
Как сделать так, чтобы объект поворачивался в нужную сторону вне зависимости от того, куда он уже повёрнут?

Черный крыс 18.06.2012 19:59

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
в 2D-графике нет поворотов по горизонтали\вертикали. здесь только одна ось.

Nex 18.06.2012 20:47

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

2) Корабль летает сам по себе, направляемый вектором перемещения.
Тогда все вообще элементарно.
Типа так только он (корабль) за мышкой летает. Не могу я в этом разобраться все таки. :(

Жека 22.06.2012 14:52

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Nex, вроде как FireOwl и Diablo1909 норм написали. Я своими словами допишу. У тебя есть корабль, у корабля есть центр, относительно которого он вращается при повороте. Тебе нужно определить dx dy смещения от центра вращения корабля до двигателей в неповёрнутом положении корабля. Зная их, сможешь найти угол наклона гипотенузы, эта гипотенуза и есть радиус вращения, её тоже найдёшь через дх ду. Получишь набор начальных углов и радиусов - от центра вращения корабля до двигателей. Далее при вращении корабля на такой же угол изменяешь значения начальных углов двигателей. Через углы и радиусы находишь смещения дх и ду - это локальные координаты двигателей относительно центра корабля. Потом при отрисовке прибавляешь к ним координаты центра корабля и получаешь глобальные обычные координаты рисования. :)

Жека 22.06.2012 14:54

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Для погони за мышкой нужно просто вращать корабль на небольшой угол до тех пор, пока он носом не будет смотреть в направлении мышки, и одновременно двигать его вперёд, чтобы разворот был по дуге, а не на месте.

Nex 16.07.2012 19:56

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Вложений: 1
Как убрать у окна обводку и кнопки? И можно ли как нибудь добавить иконку в трей?

Как то вот так хочу сделать:
Вложение 17191

Nex 17.07.2012 03:50

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Неужели никто не знает?

SBJoker 17.07.2012 11:31

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Это вопрос по БМаксу или по WinGUI?

Nex 17.07.2012 12:10

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Не знаю. Я еще не разобрался. Думал сами поймете и скажете куда смотреть..

Randomize 17.07.2012 15:03

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
1) Припашем виндовые WinApi ф-ции
PHP код:

Extern "Win32"
    
Function SetWindowRgn(hWndhRgnbRedraw)
    Function 
CreateRectRgn(nLeftRectnTopRectnRightRectnBottomRect)
    Function 
CombineRgn(hrgnDesthrgnSrc1hrgnSrc2fnCombineMode)
End Extern 

2) Эта фция принимает на вход
hWnd - хендл окна
Skin - пиксельная карта
PHP код:

Function SkinWindowII(hWnd:Int Skin:TPixmap)
    Const 
NOTHING=-1
    Local RectRgn 
CreateRectRgn(0000)
    
Local X% , Y% , StartX% , argb:Long
    
    
For Y=0 Until Skin.Height
        
For X=0 Until Skin.Width
        
            argb 
ReadPixel(skinXY)         
            If (
argb <> NOTHING)
                If 
StartX = -1
                    StartX 
X
                
EndIf
            Else
                If 
StartX > -
                    Local MaskLine
                    MaskLine 
CreateRectRgnStartX Y+)
                    
CombineRgn RectRgn RectRgnMaskLine )
                    
DeleteObject MaskLine
                    StartX 
= -1
                
EndIf
            EndIf
        
Next
        
If StartX > -
            Local MaskLine
            MaskLine 
CreateRectRgnStartX YY+)
            
CombineRgn RectRgn RectRgn MaskLine)
            
DeleteObject MaskLine
            StartX 
= -1
        
EndIf
    
Next
    SetWindowRgn 
hWnd RectRgn True)
End Function 

Думаю хендл окна ты получить сможешь сам.

PackegerX 31.07.2012 07:11

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
почему когда я компилирую проект второй раз в консоли пишется:
Код:

G:/BlitzMax/bin/ld.exe: cannot open output file F:/Dropbox/Magnavem/BlitzMax/1.2_pixelmap/New file.exe: Permission denied
отключил дропбокс, антивируса нет, UAC отключен (в нижнем положении).
Если удалять ехешник, то он снова появляется. Иногда пишет, что заблокировано процессом "System". Жду около минуты и снова могу компилировать нормально. Что делать пасаны?

PackegerX 31.07.2012 09:29

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Вопрос снят , решил (DrawPixmap все таки нашел)
Подскажите плиз, как вывести Pixmap я не нашел команды DrawPixmap и в гугле искал, есть на опенгл, а как вывести на директе? Знаю, что можно сделать через картинку или спрайт, можете подсказать, как точно это сделать, примерчик привести.
Код должен выводить часть "карты"(двумерный массив) на экран в виде пикселей, окрашенных в цвет (ну в данном примере они меняют оттенок от белого цвета к черному)

PackegerX 01.08.2012 00:54

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от PackegerX (Сообщение 234835)
почему когда я компилирую проект второй раз в консоли пишется:
Код:

G:/BlitzMax/bin/ld.exe: cannot open output file F:/Dropbox/Magnavem/BlitzMax/1.2_pixelmap/New file.exe: Permission denied
отключил дропбокс, антивируса нет, UAC отключен (в нижнем положении).
Если удалять ехешник, то он снова появляется. Иногда пишет, что заблокировано процессом "System". Жду около минуты и снова могу компилировать нормально. Что делать пасаны?

Нашел причину, процесс не удалялся потому, что он ждал реквеста от службы "информация о совместимости приложений " (application expirience) её нужно включить, чтобы процесс сразу удалился. шindows епта 2 дня мучался я в офигинении

Nex 03.08.2012 20:04

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Как установить miniB3D в BlitzMax?
Пробовал папки с окончанием ".mod" перекидывать в "\BlitzMax\mod", но ниче не работает.

RlexGm 03.08.2012 22:38

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Что лучше использовать в мморпг для хранении информации об игроках(положение, инвентарь и т.д.): субд или текстовые файлы? Хочу услышать аргументы. Я лично больше склоняюсь к т. файлам, ибо сортировка и расширенный поиск в мморпг вроде не требуется(или я не прав?), все просто: каждый файл - каждый игрок, а название-ник.
Если всё же субд лучше, то какую лучше использовать и как работать с ней на blitzmax+raknet?
P.S. мморпг я вряд ли создам, но скорее всего получу опыт в создании подобных вещах

Жека 04.08.2012 08:39

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Nex (Сообщение 235153)
Как установить miniB3D в BlitzMax?
Пробовал папки с окончанием ".mod" перекидывать в "\BlitzMax\mod", но ниче не работает.

Я попробовал установить и получилось - демки работают.
Ты наверное забыл скомпилить модуль после того как добавил его.

Вот из ReadMe.txt кусок:

PHP код:

Using MiniB3D
-------------

There are two ways of using MiniB3D - as an import file, or as a module.
To use MiniB3D as an import filecopy 'minib3d.bmx' and the 'inc' folder to the same folder as your main source code fileThen use 'Import "minib3d.bmx"' at the top of your program to import MiniB3D.
To use MiniB3D as a modulecopy the module folder 'sidesign.mod' into your BlitzMax 'mod' folder and build it (you can do this by pressing Ctrl D in the BlitzMax IDE). Then use 'Import sidesign.minib3d' at the top of your program to use MiniB3D as a module.
In order to compile MiniB3D on Windowsyou will need MinGW 5.1.3 installedSee this thread for more infohttp://www.blitzbasic.com/Community/posts.php?topic=72892
* If you have problems compiling MiniB3D programs due to MinGW errors, try a fresh install of MinGW and/or BlitzMax


Я делал вариант "To use MiniB3D as a module".

Nex 04.08.2012 11:48

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Жека (Сообщение 235189)
Я попробовал установить и получилось - демки работают.
Ты наверное забыл скомпилить модуль после того как добавил его.

Вот из ReadMe.txt кусок:

PHP код:

Using MiniB3D
-------------

There are two ways of using MiniB3D - as an import file, or as a module.
To use MiniB3D as an import filecopy 'minib3d.bmx' and the 'inc' folder to the same folder as your main source code fileThen use 'Import "minib3d.bmx"' at the top of your program to import MiniB3D.
To use MiniB3D as a modulecopy the module folder 'sidesign.mod' into your BlitzMax 'mod' folder and build it (you can do this by pressing Ctrl D in the BlitzMax IDE). Then use 'Import sidesign.minib3d' at the top of your program to use MiniB3D as a module.
In order to compile MiniB3D on Windowsyou will need MinGW 5.1.3 installedSee this thread for more infohttp://www.blitzbasic.com/Community/posts.php?topic=72892
* If you have problems compiling MiniB3D programs due to MinGW errors, try a fresh install of MinGW and/or BlitzMax


Я делал вариант "To use MiniB3D as a module".

При нажатии на Ctrl + D ничего не происходит.
И при перемещении папок возникают ошибки сначала на c++ файлы. Если их удалить, то появляется еще больше ошибок.
По сравнению с Блитзом как то муторно подключать что-либо. :(

RlexGm 04.08.2012 15:51

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Про компилятор:
Цитата:

Сообщение от Randomize (Сообщение 166087)
А вобще для любого BlitzMax`ера нужен компилятор GCC
Самый простой способ установить его на Windows - скачать MinGW.
Качать тут: http://sourceforge.net/projects/mingw/files/
Скачиваешь, устанавливаешь.
Лучше всего устанавливать в C:\MinGW
Так чтоб путь до папки Bin был C:\MinGW\Bin

После этго тебе нужно будет добавить путь до папки Bin в переменные среды Windows.
Делается это так:
  1. Правой кнопкой на иконке "Мой компьютер" клац
  2. Дополнительно
  3. Переменные среды
  4. Системные переменные
  5. Path
  6. Скролишь в самый конец и добавляешь ";C:\MinGW\Bin"

---

Цитата:

Сообщение от RlexGm (Сообщение 235171)
Что лучше использовать в мморпг для хранении информации об игроках(положение, инвентарь и т.д.): субд или текстовые файлы? Хочу услышать аргументы. Я лично больше склоняюсь к т. файлам, ибо сортировка и расширенный поиск в мморпг вроде не требуется(или я не прав?), все просто: каждый файл - каждый игрок, а название-ник.
Если всё же субд лучше, то какую лучше использовать и как работать с ней на blitzmax+raknet?
P.S. мморпг я вряд ли создам, но скорее всего получу опыт в создании подобных вещах

up

Nerd 04.08.2012 16:34

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

up
С файлами меньше проблем, больше скорость, выше безопасность. БД годятся только для скоростного высерания сайтов.

Randomize 04.08.2012 17:27

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
С БД меньше проблем. Быстрее скорость нахождения при большом количестве записей. Структурное хранение.

Okay 21.08.2012 03:48

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
С blitz3d перешел на blitzmax
Это будет смешно, но я не нашел функции ввода текста

Randomize 21.08.2012 03:52

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Okay (Сообщение 236791)
С blitz3d перешел на blitzmax
Это будет смешно, но я не нашел функции ввода текста

Да, такие вещи там надо реализовывать самостоятельно.
Вот пример:
http://www.blitzbasic.com/codearcs/c....php?code=1428
Хоть и не очень удачный

Okay 21.08.2012 04:18

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Randomize (Сообщение 236792)
Да, такие вещи там надо реализовывать самостоятельно.
Вот пример:
http://www.blitzbasic.com/codearcs/c....php?code=1428
Хоть и не очень удачный

Походу зря переходил. из-за одной функции столько морок.

Okay 21.08.2012 04:42

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Ах да и еще. написал
Код:

AppTitle = "ZXCV"
Но не работает. В чем прикол?

Randomize 21.08.2012 05:15

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Okay (Сообщение 236794)
Ах да и еще. написал
Код:

AppTitle = "ZXCV"
Но не работает. В чем прикол?

Надо присваивать до вызова функции Graphics
Кстати тоже странно, что Марк (автор) не сделал этот момент нормально

Okay 21.08.2012 06:18

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Randomize (Сообщение 236795)
Надо присваивать до вызова функции Graphics
Кстати тоже странно, что Марк (автор) не сделал этот момент нормально

Cпасибо. Еще вопрос. Возможно ли как-то сделать, чтобы текст выделялся при функции
Код:

DrawText
Ну или какая-нибудь другая функция.
Спасибо заранее

Жека 21.08.2012 06:58

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Можно, я делал выделение с помощью тегов, самый простой способ из того что я с лёту придумал.
Посмотри вот этот мой проект http://forum.boolean.name/showthread.php?t=11367, там на второй странице есть ссылка на исходники, может пригодится тебе.

Okay 21.08.2012 17:59

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Жека (Сообщение 236798)
Можно, я делал выделение с помощью тегов, самый простой способ из того что я с лёту придумал.
Посмотри вот этот мой проект http://forum.boolean.name/showthread.php?t=11367, там на второй странице есть ссылка на исходники, может пригодится тебе.

Вы наверно меня не поняли. Знаете как в обычном редакторе, допустим блокнот мышью выделяется текст. А там дальше CTRL + C и CTRL + V можно было использовать

Жека 21.08.2012 19:25

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
В стандартном Max IDE это есть ведь. Есть хороший редактор кода для макса - BLIde.

Okay 22.08.2012 14:08

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Жека (Сообщение 236854)
В стандартном Max IDE это есть ведь. Есть хороший редактор кода для макса - BLIde.

Вы меня опять не поняли.

Я вывожу текст на экран через функцию
Код:

DrawText
Но мне нужно, чтобы текст, который я вывожу на экран в дальнейшем можно было выделять мышью и проделывать с ним операции.

pax 22.08.2012 15:44

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
TextBox или TextArea человеку нужно.

Okay 22.08.2012 15:48

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от pax (Сообщение 236917)
TextBox или TextArea человеку нужно.

Именно :-D
Спасибо. Нашел в интернете.

{pk}fire 22.08.2012 16:15

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Что стало с blitzetc.blitmax.ru? У blitzmax статей стало в 2 раза меньше, и они наполовину спилины какой-то рекламой вроде на немецком

Okay 23.08.2012 04:13

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Okay (Сообщение 236918)
Именно :-D
Спасибо. Нашел в интернете.

Fuck! текст бокс нашел, а текст не выделяется :D

Жека 23.08.2012 08:23

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Okay, ну наконец-то я понял тебя.
Что ты там такое делаешь? Может тебе лучше пересесть на другой инструмент разработки.

Okay 24.08.2012 00:04

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Цитата:

Сообщение от Жека (Сообщение 237009)
Okay, ну наконец-то я понял тебя.
Что ты там такое делаешь? Может тебе лучше пересесть на другой инструмент разработки.

Cтоит. Основы и синтаксис C++ уже понял. Осталось понять, что значит static и public =)

Nex 28.12.2012 11:10

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Как получить нормаль столкновения картинки шарика с картинкой прямоугольника? :)
з.ы. в блитзе че то как то все просто было CollisionNX/Y/Z :(

Черный крыс 28.12.2012 14:53

Ответ: Вопрос-Ответ (для новичков BlitzMax)
 
Возьми 2д-физ двиг ( Box2d тебе в руки ), опиши формы круга ( а не шарика ) и прямоугольника и столкни друг с другом, после чего сгенерится вся инфа о точках столкновения.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot