Difference between revisions of "GIObject.DeleteObjectRange"
1>Admin |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:53, 22 January 2025
DeleteObjectRange (Функции графических объектов) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция удаляет диапазон графических объектов по их идентификаторам (либо все объекты, если аргументы идентификаторов не заданы). Функция производит поиск объектов для удаления среди подчиненных объектов данного или всех графических объектов GI, если она вызывается для объекта GI. Если задана опция рекурсивного поиска, он будет происходить не только среди непосредственно подчиненных объектов, но и среди всех объектов подчиненных последним. При удалении объекта, все его подчиненные объекты также удаляются.
Синтаксис
GIObject или GI.DeleteObjectRange(<Рекурсивный поиск (INT)>=0,<Начальный идентификатор диапазона объектов (STRING)>,<Конечный идентификатор диапазона объектов (STRING)>)
Аргументы
<Рекурсивный поиск (INT)>
- (необязательный аргумент) Аргумент задает режим, когда поиск будет происходить не только среди непосредственно подчиненных объектов, но и среди всех объектов подчиненных последним.<Начальный идентификатор диапазона объектов (STRING)>
- (необязательный аргумент) Аргумент задает идентификатор начала диапазона для удаления.<Конечный идентификатор диапазона объектов (STRING)>
- (необязательный аргумент) Аргумент задает идентификатор окончания диапазона для удаления.
Примеры
//Используется фрагмент из обработки tetris.sfo //Создадим новую простую модель с пустым буфером аБуфер:=Buffer.Create(); аМодель:=GIModel.New(); аМодель.SimpleModel(аБуфер); //Заполним буфер микрокодом аСмещ:=0; аБуфер.AddValues(аСмещ,4,201,aGI.GL_TEXTURE_2D,0);//glBindTexture аБуфер.AddValues(аСмещ,4,300,лкПрограммы[3]);//ShaderProgramUse аБуфер.AddValues(аСмещ,4,301,aGI.ShaderProgramGetVariableID(лкПрограммы[3],"u_scrpos"),4,$004); аБуфер.AddValues(аСмещ,104,x,aGI.Height-y,2*dx,2*dx);//u_scrpos аБуфер.AddValues(аСмещ,4,302,aGI.ShaderProgramGetVariableID(лкПрограммы[3],"u_time"));//u_time аБуфер.AddValues(аСмещ,4,301,aGI.ShaderProgramGetVariableID(лкПрограммы[3],"u_starttime"),1,$001); аБуфер.AddValues(аСмещ,104,aGI.WorldTime);//u_starttime аБуфер.AddValues(аСмещ,4,1,aGI.GL_QUADS);//glBegin аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x,y,-0.3);//glVertex аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x,y+2*dx,-0.3);//glVertex аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x+2*dx,y+2*dx,-0.3);//glVertex аБуфер.AddValues(аСмещ,4,100);аБуфер.AddValues(аСмещ,104,x+2*dx,y,-0.3);//glVertex аБуфер.AddValues(аСмещ,4,2);//glEnd аБуфер.AddValues(аСмещ,4,0);//EOF //Создадим новый объект и добавим к нему эту модель аОбъект:=aGI.AddObject("EXP"); аОбъект.Model(аМодель); ... If _And(ФлАктивныйФеерверк,аВремя-аВремяПадения>2.5) Then //Удалим все объекты с идентификатором "EXP" aGI.DeleteObjectRange(0,"EXP"); ФлАктивныйФеерверк:=0; EndIf;