ДеЦЦкий сад "ПандЁнок"
|
|
ninth | Дата: Среда, 07.09.2011, 17:43 | Сообщение # 151 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Code demon.loop('Demon', fromFrame = 10, toFrame = 20)
|
|
| |
Kornival | Дата: Среда, 07.09.2011, 17:55 | Сообщение # 152 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| Спасибо огромное. Прежде чем спросить, облазил весь Python Reference, но натыкался только на эту функцию loop Code loop(self, string, int=1, string=None) Откуда я мог узнать о решении, чтобы в следующий раз не дергать людей по мелочам?
|
|
| |
ninth | Дата: Среда, 07.09.2011, 18:14 | Сообщение # 153 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| http://www.panda3d.org/manual/index.php/Main_Page http://panda3d.org.ru/publ/1-1-0-9 http://panda3d.org.ru/publ/1-1-0-13
|
|
| |
Kornival | Дата: Суббота, 10.09.2011, 00:04 | Сообщение # 154 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| Спс
Добавлено (10.09.2011, 00:04) --------------------------------------------- С помощью define_key можно повесить вызов функции на нажатие клавиши, можно ли подобным образом повесит вызов функции на отпускание клавиши?
Сообщение отредактировал Kornival - Суббота, 10.09.2011, 00:13 |
|
| |
serg-kkz | Дата: Суббота, 10.09.2011, 00:30 | Сообщение # 155 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Так пробовал? Code framework.define_key("w-up", "weeds", Move, 0);
ООП -
|
|
| |
Kornival | Дата: Воскресенье, 11.09.2011, 11:29 | Сообщение # 156 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| Quote (serg-kkz) Так пробовал? w_up пробовал, но так не додумался Спасибо.Добавлено (11.09.2011, 11:29) --------------------------------------------- В панде, для отрисовки 2d, очень неудобная система координат, можно ли ее заменить на привычную прямоугольную?
|
|
| |
serg-kkz | Дата: Воскресенье, 11.09.2011, 11:50 | Сообщение # 157 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (Kornival) В панде, для отрисовки 2d, очень неудобная система координат, можно ли ее заменить на привычную прямоугольную? В каком смысле не удобная?
ООП -
|
|
| |
Kornival | Дата: Воскресенье, 11.09.2011, 12:07 | Сообщение # 158 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| К примеру если надо нарисовать текст: Code PT(TextNode) text = new TextNode("MyText"); text->set_text("Checking of Panda3D text renderer"); NodePath textNode = window->get_aspect_2d().attach_new_node(text); textNode.set_pos(-1,0,1); //Рисуем текст в верхнем левом углу. Это же кошмар настоящий, а если мне надо рисовать текст на 20 пикселов левее и 14 пикселов ниже угла экрана? Понятно, что при очень большом желании можно переводить(приблизительно) координаты из одной системы в другую руками, но мне интересно есть для этого в панде встроенные средства.
Сообщение отредактировал Kornival - Воскресенье, 11.09.2011, 12:10 |
|
| |
serg-kkz | Дата: Воскресенье, 11.09.2011, 13:42 | Сообщение # 159 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Kornival, есть способ определить соотношение, но в данном случае нужно рассчитывать исходя разрешения это соотношение, я пока думаю об этом. Вот как можно оределить соотношение.
Code r1 = -base.getAspectRatio() r2 = base.getAspectRatio()
Нужно дополнительно рассчитать соотношение по разрешению (т.к. это функция выводит для квадрата) и потом рассчитать в обратном порядке, скажем от угла координаты. Мне еще не приходилось этого делать сам разбираюсь. Думаю другии способы есть, но я их пока не знаю.
ООП -
Сообщение отредактировал serg-kkz - Воскресенье, 11.09.2011, 13:43 |
|
| |
ninth | Дата: Понедельник, 12.09.2011, 16:17 | Сообщение # 160 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Эта фишка сделана чтобы гуи масштабировался в соответствии с экраном. Если хочется сместить сисему координат - просто можете повесить дочерний узел на аспект, сместить куда нравиться и отмасштабировать в соответствии с вашим разрешением. Смещать и масштабировать по событию ресайза окна. После вешать весь гуи на этот узел
|
|
| |
Kornival | Дата: Понедельник, 12.09.2011, 19:58 | Сообщение # 161 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| Ребята, или я вас не понимаю, или вы меня: я говорю не сместить, а сменить, чтобы отрисовывать 2d не в пределах [0;1][0;1], а [0;ScreenWidth][0;ScreenHeight]. Надеюсь вы поняли меня. Добавлено (12.09.2011, 19:58) --------------------------------------------- То есть, к примеру, если мне нужно отрисовать спрайт размером 32*32 на весь экран, я мог сделать так: Code for(int i = 0; i<ScreenWidth/32; i++) for(int j = 0; j<ScreenHeight/32; j++) DrawSprite(i,j); А с системой координат панды такие вещи делать очень неудобно, хотя мне уже сказали, что aspect_2d заточен под гуи.
|
|
| |
serg-kkz | Дата: Понедельник, 12.09.2011, 23:51 | Сообщение # 162 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Kornival, Quote (Kornival) мне надо рисовать текст на 20 пикселов левее и 14 пикселов ниже угла экрана? Если про это, то вот. Пример кода. Code # -*- coding: utf-8 -*- from pandac.PandaModules import * import direct.directbase.DirectStart from direct.gui.DirectGui import * h = 0.1 v = 0.9 Text = OnscreenText(text = "Text", pos = (-base.getAspectRatio()+h, v), scale = 0.07) run()
А вот про спрайт я тебя не понял.
ООП -
|
|
| |
serg-kkz | Дата: Вторник, 13.09.2011, 00:01 | Сообщение # 163 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Я как понял, ты хочешь не в отношении указывать, а в координатах?
ООП -
|
|
| |
Kornival | Дата: Вторник, 13.09.2011, 00:06 | Сообщение # 164 |
Лейтенант
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 1
Статус: Offline
| Quote (serg-kkz) Я как понял, ты хочешь не в отношении указывать, а в координатах? Да. Это возможно?
|
|
| |
serg-kkz | Дата: Вторник, 13.09.2011, 00:15 | Сообщение # 165 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Не знаю, нужно порыться в reference. Или расскажи суть проблемы подробней, может что и придумаем.
ООП -
|
|
| |