forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   AudioSoft на Blitz'е (http://forum.boolean.name/showthread.php?t=389)

Kain 13.01.2006 03:26

Ты здесь поспешил,я сразу заметил,но запустил на всякий случай....(не работает)
первое условие If (PickedEntity()<>0) And (Picked=0) выполняется только один раз (затем false)
т.к. Picked=PickedEntity() ето делает
второе условие выполняется если только :
1) если 1-ое усл. true ,
2) оно истино по той же причине что и первое PickedEntity()<>0

так чё ты допустил тонну ошибок,следующий раз не спеши, я подожду

Теперь ещё проблема как узнавать кому какой PickedEntity()
принадлежит, добавил фону EntityPickMode pl,2 и теперь
он тоже меняет цвет вместе с шариками

jimon 13.01.2006 22:08

всмысле кому какой PickedEntity() ?

Kain 14.01.2006 15:01

Код:


Global pl=CreatePlane(1);поле
;        Global bg_tex=LoadTexture("bg.bmp");текстура поля
        EntityColor pl,10,20,60
;        EntityTexture pl,bg_tex;применить текстуру
        PositionEntity pl,0,-6,0
 EntityPickMode pl,2

и здесь
Код:

Global sphere=CreateSphere()
EntityPickMode sphere,1

а затем функция
Код:

Function effect()
        CameraPick(cam,MouseX(),MouseY())
        If (PickedEntity()<>0) And (Picked=0)
        ;1а)часть: мышь над шариком ,подсветили шарик (фокус) с0наШ
 Picked=PickedEntity()
 EntityColor Picked,120,255,120
        End If
        If ((PickedEntity()=0) And (Picked<>0))Or((PickedEntity()<>0) And (Picked<>PickedEntity()))
        ;1б)часть: мышка не над шариком (фокус потерян) сШна0
        ;2б)часть: мышка не успела соти с шарика и уже над другим шариком сШ1наШ2
        ;(новый фокус,без потерь) снимаем подсветку PS(вместо подсветки -функция)
 EntityColor Picked,255,120,120
 Picked=0
        End If
       
End Function

изменяет цвет: фона(не надо) и шариков(надо)
а потом ещё будут элементы,как их разделять...

jimon 14.01.2006 16:21

у тебя есть handle всех обектов :)
pickedentity() возвращает тебе обект
вот и сравнивай... главное разумно ето зделать

Kain 16.01.2006 03:58

Не совсем по теме, (решил отвлечься):
как подключить dll
а то я пример хочу посмотреть,
но нужно добавить её самую.
рядом с файлом положил,а вот чё дописать ну
никак не доходит(отрывок из примера,вроде указания)
Код:

;--------------------------------------------------------------
; Add to winmm.decls (or create) in userlib directory
;
;.lib "winmm.dll"
;winmm_PlaySound%(lpszName%,hModule%,dwFlags%):"PlaySoundA"
;winmm_StopSound%(lpszName%,hModule%,dwFlags%):"PlaySoundA"

;--------------------------------------------------------------

в таком состоянии ошибка, об отсутсвующей функции

и как ***.decls пользоваться ?
если можешь опиши подробно :rolleyes:

PS зачем ипользуется знак процента(по умолчанию итак integer)

Kain 20.01.2006 08:55

С dll почти разобрался.....
Ладно что -то скучно стало, зайду попозже......

alcoSHoLiK 20.01.2006 09:48

В данном случае тот фрагмент, что ты привел выше, нужно сохранить в decls-файле и поместить его в папку Userlibs (она находится в папке с установленным Блицом).

Код:

;.lib "winmm.dll"
;winmm_PlaySound%(lpszName%,hModule%,dwFlags%):"PlaySoundA"
;winmm_StopSound%(lpszName%,hModule%,dwFlags%):"PlaySoundA"

В этих трех строчках нужно убрать символ ; в начале строки. Знак % показывает, что функция возвращает целое значение. Если его пропустить, это вызовет ошибку.

P.S. Сегодня вечером подробно напишу об этом в FAQ.

Kain 22.01.2006 02:22

Тенкс , но поздно.....


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

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