Як-18т

Доброго всем времени суток…

Создаю проект як-18т 36ой серии. С рисовалками и gmax все в порядке… Но с програмированием у меня полная беда! Если кто-то хочет принять участие милости просим… Если нет, то дайте материал, учебник по xml…Уже борюсь неделю с кодом не получается…тыркаюсь, тыркаюсь, даже не знаю в какую сторону копать и помочь, объяснить некому… Выложу скрин в плохом качестве, т.к. работа по рисованию моя и не хочется чтоб кто-то ее того… На скрине видно пару приборов которые я смог сделать своими силами, все работает, только кнопочку на g-метр’е не получается сделать, всмысле она работает, но я хочу чтоб визуально она нажималась… кнопка есть нарисованная. Вообще все приборы уже нарисовал, со слоями все как надо.

Attached thumbnail(s)

  • Attached Image

Ответов: 19

Dexer (24 July 2009 — 08:51) написал:

http://www.avsim.su/…-msfs-2800.html

Можно же было прочитать, то что я написал посмотреть на скрин. И понять, что то, что написанно по рекомендованной ссылке мне уже давно известно…

Gensta, on 24 July 2009 — 10:42, said:

Можно же было прочитать, то что я написал посмотреть на скрин. И понять, что то, что написанно по рекомендованной ссылке мне уже давно известно…

Я честно говоря из вашего поста тоже не сразу понял что требуется. К вопросу о кнопке с изменением вида от состояния, вот даю пример, как я это делаю.

<Gauge Name=»Sw Mechanism» Version=»1.0″>
<Element>
<Element>
<Select>
<Value>(G:Var1, bool)</Value>
<Case Value=»0″>
<Image Name=»switch_off.bmp» ImageSizes=»40,90″/>
</Case>
<Case Value=»1″>
<Image Name=»switch_on.bmp» ImageSizes=»40,90″/>
</Case>
</Select>
</Element>
<Element>
<Select>
<Value>(G:Var1, bool)</Value>

<Case Value=»0″>
<Image Name=»switch_off_lum.bmp» Luminous=»Yes» ImageSizes=»40,90″/>
</Case>
<Case Value=»1″>
<Image Name=»switch_on_lum.bmp» Luminous=»Yes» ImageSizes=»40,90″/>
</Case>
</Select>
</Element>
</Element>

<Element>
<Select>
<Value>
(A:Circuit general panel on, bool) (G:Var1, bool) &amp;&amp; if{ 1 (>L:Dummy_pump,bool) } els{ 0 (>L:Dummy_pump,bool) }}

</Value>
</Select>
</Element>

<Mouse>
<Tooltip>Fuel Pump Manual</Tooltip>
<Cursor Type=»Hand»/>
<Click>(G:Var1, bool) ! (>G:Var1, bool) 1 (>L:TOGGLE_SWITCH_SOUND,bool)</Click>

</Mouse>
</Gauge>

Теперь разбор. В мышиной зоне прописываете G переменную Var1, которая при одном нажатии обретает переменную 1, при следующем 0.
В секции Select (вверху) прописываются бимтмапы включеннного состояния кнопки и выключенного , в засисимости от состояния нашей переменной Var1.
Таким образом осуществляется визуализация нашей кнопки.

Ниже есть секция Select которая в зависимости от состояния G перемнной Var1 присваивает такое же состояние L переменной Dummy. Эта переменная есть то, что мы хотим включить этой кнопкой извне прибора. Если такой необходимости нет, можно эту секцию не писать. Если то, что должно включаться/переключаться находится внутри прибора, привязываем это к G переменной Var1 примерно тем же образом, что и битмап кнопки.

Отредактировано Mihail Stepanov: 24 July 2009 — 11:32

Вот скрин всей панели=)

Attached thumbnail(s)

  • Attached Image

Mihail Stepanov (24 July 2009 — 10:56) написал:

В личку можно, только я не всегда под своим юзером захожу, (комп не запоминает меня), могу не увидеть вопроса. Лучше здесь, другим тоже не помешает я думаю. Вообще, на будущее совет, рассмотривать внимательней xml приборы, подобные вашему, и следовать примерно такими же способами. Вплоть до полного копирования кода :sarcastic:

Хорошо=) Я впринципе так и делаю… вот разбираюсь потихоньку. А еще хотелось бы знать что такое:

&lt

||

&gt

и переменные A L M и какие там еще есть…

Mihail Stepanov (24 July 2009 — 11:03) написал:

Ну что ж, даже очень хорошо! Переплёт бы на мой взгляд по художественней сделать бы..
Я считаю лучше делать как умеешь, чем сидеть и ждать пока сделает кто то для нас типа SCS,WM,PT.

Дело в том, что специально скрин выкладываю плохого качества — все размазано…=) чтоб никто не …. А так расширение 2000на 1600=) Я сам дизайнер. Кто-то писал на форуме дизайнера и программиста в одном лице не бывает=)

а вот с чего рисую…

Attached image(s)

  • Attached Image

вот переплет в норм качестве…=)

Attached image(s)

  • Attached Image

http://www.avsim.su/…-msfs-2800.html
Спасибо, большое! Только вот как сделать чтоб при нажатии кнопки появился case=1 а когда отпускаем кнопку мыши case=0

Нет проблем. Вот пример кнопки согласования курсовой системы (принажатии согласуется, при отпускании нет, так же ведёт себя и кнопка)

<Gauge Name=»Sogl_ks» Version=»1.0″>

<Element>
<Select>
<Value>(G:Var1,bool) </Value>
<Case Value=»0″>
<Image Name=»Sogl_off.bmp» ImageSizes=»115,105″/>
</Case>
<Case Value=»1″>
<Image Name=»Sogl_on.bmp» ImageSizes=»115,105″/>
</Case>
</Select>
</Element>

<Mouse>

<Area Left=»17″ Top=»24″ Right=»75″ Bottom=»74″>
<Click Kind=»LeftSingle+LeftRelease+Leave»>
(M:Event) ‘LeftSingle’ scmp 0 == 1 (>L:KEY_SWITCH_SOUND,bool) if{
1 (>L:KS8 Coord Button, bool)
1 (>G:Var1,bool)
}
(M:Event) ‘LeftRelease’ scmp 0 ==
(M:Event) ‘Leave’ scmp 0 == || if{
0 (>L:KS8 Coord Button, bool)
0 (>G:Var1)
}
</Click>
<Tooltip ID=»»>Course System Quick Ajust</Tooltip>
<Cursor Type=»Hand»/>
</Area>

</Mouse>

</Gauge>

Чешуя (M:Event) ‘LeftSingle’ scmp 0 == есть нечто иное, как нажатие кнопки
а (M:Event) ‘LeftRelease’ scmp 0 == типа отпускание оной, насколько я понял этот за….ый xml язык :-))))

=) Спасибо огромное, а то помогать никто не хочет, а работа прожделана огромная… Вот придетя самому учить этот язык=) И такой вопросик если, что в личку можно писать?

В личку можно, только я не всегда под своим юзером захожу, (комп не запоминает меня), могу не увидеть вопроса. Лучше здесь, другим тоже не помешает я думаю. Вообще, на будущее совет, рассмотривать внимательней xml приборы, подобные вашему, и следовать примерно такими же способами. Вплоть до полного копирования кода :sarcastic:

Ну что ж, даже очень хорошо! Переплёт бы на мой взгляд по художественней сделать бы..
Я считаю лучше делать как умеешь, чем сидеть и ждать пока сделает кто то для нас типа SCS,WM,PT.

так что с переплетом там все ок….=)

&lt це значит «меньше». типа если перменная меньше (нуля к примеру) то… будет то то

|| Такие знаки ставят после двух переменных. Сей знак означает, что условие будет выполняться, если либо одна переменная либо другая соответствует условию

&gt а это наоборот «больше»

и переменные A L M и какие там еще есть…

Переменные А это стандартные симовские переменные. Полный список их есть в СДК, и ими можно оперировать в приборах. Скажем так те параметры, которые сим снимает с твоего самоля ( с динамы, с модели) типа обороты двигла, напряжение АКБ, уборка шасси и т.д.

Переменные L это твои собственные переменные. Можешь их выдумывать сам, действуют в пределах твоего самолёта. Но с количеством их не груби. По возможности используй G переменные,если переменная нужна в области одного прибора.

Переменные M мышыные.

Переменная G их всего девять!!!! Var1-Var9. Они «видны» только в пределах одного прибора. Пример того как их все втыкают где надо и не надо ты видел.

Перменная K для меня самого загадка. Как мне кажется, она тоже взаимодействует именно с симовскими параметрами, но чем она от А отличается, я не понял. Надо глянуть в СДК, может там чего написано. Или же здесь подскажут..

Отредактировано Mihail Stepanov: 24 July 2009 — 12:19

Однако!!! Молодец! ТОгда тем более такой ЯК-18 нам нужен!!!

вот к примеру я хочу чтоб лампочка горела от 0 метров до 80.

if{ 0 } els{ (A:Indicated Altitude, meters) 80 &lt

правильно??? А почему-то не работает…

<Element>
<Position X=»0″ Y=»249″/>
<Select>
<Value>(A:Circuit general panel on, bool) if{ (L:CheckLamp,bool) (A:Sim on ground,bool) if{ 0 } els{ (A:Indicated Altitude, meters) 80 &lt; } || }</Value>
<Case Value=»1″>
<Image Name=»GearWarn.BMP» Bright=»Yes» ImageSizes=»144,83,0,0″/>
</Case>
</Select>
<Failures>
<SYSTEM_ELECTRICAL_PANELS Action=»0″/>
</Failures>
</Element>

точнее будет.

она горит на любой высоте. т.е. первое условие выполняется: при тесте горит, на земле не горит.