Вверх ↑
Этот топик читают: Гость
Ответов: 875
Рейтинг: 322
#1: 2010-07-26 15:07:46 ЛС | профиль | цитата
Вопрос к разработчику. Можно ли в элементе GE_Sprite добавить ещё 5 свойств. 1 - клик мышкой, 2 - Столкновение произошло сверху, 3 - Столкновение произошло снизу, 4 - Столкновение произошло слева, 5 - Столкновение произошло справа. В принципе - это решаемо, но требуется много элементов, а если спрайт не один то, ещё больше. Но если нет... то на нет и суда нет.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2010-07-26 16:46:00 ЛС | профиль | цитата
клик мышкой спрайту просто так добавить невозможно, т.к. необходима привязка к интерфейсному объекту формы, на котором рендерится сцена.
определение стороны столкновения делается простой проверкой ускорения самого объекта или объекта с ним столкнувшегося. Это + 1 If_Else.
карма: 27
0
Ответов: 2
Рейтинг: 0
#3: 2017-04-21 18:16:25 ЛС | профиль | цитата
Dilma писал(а):
клик мышкой спрайту просто так добавить невозможно, т.к. необходима привязка к интерфейсному объекту формы, на котором рендерится сцена.
определение стороны столкновения делается простой проверкой ускорения самого объекта или объекта с ним столкнувшегося. Это + 1 If_Else.

Ну клик по спрайту можно определить сравнением клика мыши и положение спрайта,
скажи пожалуйста а где лучше хранить присвоенные данные спрайта (на пример "ранг, жизни и тд" или координаты куда нужно направиться спрайту) ?

И как можно реализовать создание спрайта программно чтоб они сами создавались и по исчерпании их жизни исчезали ?

И как отобразить ID спрайта например в Label ?

Редактировалось 1 раз(а), последний 2017-04-22 13:38:09
карма: 0
  rm83
0
Ответов: 32
Рейтинг: -2
#4: 2018-03-18 20:06:09 ЛС | профиль | цитата
Создать бесконечное программное кол-во спрайтов можно с помощью
Add(MultiElementEx,3936166,819,574)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,14226967,21,21)
{
WorkCount=#5:##add|
DataCount=#11:Orientation|
Width=440
Point(##add)
link(##add,3310611:doOperation,[(40,27)(40,139)])
}
Add(GE_Sprite,9629514,322,133)
{
Name="gear"
GameScene="parent.MainScene"
Width=5
Height=5
kX=0.9
Mode=1
Filter="1"
ID=5
Sprites="parent.sprites"
SpriteName="gear"
Frames=2
Speed=20
TimeLive=250
Point(doDestroy)
Point(dokX)
Point(onHitX)
link(onHitX,9629514:doDestroy,[(366,139)(366,127)(310,127)(310,139)])
}
Add(GE_SpriteMove,9789530,168,133)
{
Sprite="gear"
link(onMove,12811825:doCompare,[])
link(X,3310611:Result,[(174,121)(152,121)(152,178)(69,178)])
}
Add(GE_SpriteMove,11672219,63,84)
{
Sprite="parent.player"
}
Add(If_else,12811825,217,133)
{
Op2=Integer(4)
link(onFalse,2903448:doData,[])
link(Op1,14226967:Orientation,[(223,77)(27,77)])
}
Add(DoData,2903448,266,140)
{
Data=Real(-0.9)
link(onEventData,9629514:dokX,[])
}
Add(Math,3310611,63,133)
{
Op2=10
link(onResult,5300594:doOperation,[])
link(Op1,11672219:CurX,[])
}
Add(Math,5300594,112,133)
{
Op2=10
link(onResult,9789530:doMove,[])
link(Op1,11672219:CurY,[(118,125)(76,125)])
}
END_SDK
Вложенной схемы в динамическом моде (Я скопировал с примера demo delphin/draw/GameEnige/demo.sha )

На счет Id можно через столкновение спрайта невидимки (в теории не проверял)
карма: -2
cschanell
0
Ответов: 2
Рейтинг: 0
#5: 2019-06-18 20:16:36 ЛС | профиль | цитата
egorandmyriska2006 Скажи пожалуйста а как можно температуру процессора проверить с помощью Hiasm
карма: 0
  rm83
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)