|
Форум Обсуждение аддонов Разработка аддонов WoW Создание фигруы по координатам. |
Создание фигруы по координатам. |
Понимаю, вопрос не очень. Но у меня возникла проблема с созданием фигруы по координатам x, y. Выглядит поимерно так:
Код local shapecube = CreateFrame("Frame", nil, UIParent) function EventFrame:PLAYER_LOGIN() shapecube:SetWidth(10) shapecube:SetHeight(10) shapecube:SetPoint("TOPLEFT",x,y) shapecube:Show() end. И ничего не происходит. Где ошибка?
Сообщение # 1 написано 30.08.2014 в 11:09
|
Это потому что не указаны координаты появления вашего квадрата на экране.
local shapecube = CreateFrame("Frame", nil, UIParent) - задал фрейм function EventFrame:PLAYER_LOGIN() - задал функцию появления shapecube:SetWidth(10) - ширина квадрата shapecube:SetHeight(10) - длина квадрата shapecube:SetPoint("TOPLEFT",x,y) - позиция квадрата, вместо Х и У нужно ввести координаты shapecube:Show() - показ квадрата end. - конец функции То бишь ошибка у тебя в строке shapecube:SetPoint("TOPLEFT",x,y) замени Х и У. К примеру - shapecube:SetPoint("TOPLEFT",-200,500) и проблема с отображением решится. жду ответа
Сообщение # 2 написано 30.08.2014 в 20:08
|
function EventFrame:PLAYER_LOGIN() shapecube:SetWidth(10) shapecube:SetHeight(10) shapecube:SetPoint("TOPLEFT",x,y) shapecube:Show() end. вполне можно заменить на Код shapecube:SetWidth(10) shapecube:SetHeight(10) shapecube:SetPoint("TOPLEFT",x,y) работать будет так, как и с функцией появления. После данного редактирования, и того, что упомянули выше Код shapecube:SetPoint("TOPLEFT",-200,500) Вам необходимо указать текстуру вашего фрейма. До совершения этого у вас ничего отображаться не будет и не должно. Еще один совет - включите в настройках интерфейса ошибки луа - сэкономите время и себе и пользователям форума. |
local shapecube = CreateFrame("Frame", nil, UIParent) function EventFrame:PLAYER_LOGIN() shapecube:SetWidth(10) shapecube:SetHeight(10) shapecube:SetPoint("TOPLEFT",x,y) shapecube:Show() end. И ничего не происходит. Где ошибка? Ход мысле должен быть примерно такой: Код local lol = CreateFrame("Frame", nil, UIParent) -- ага создал фрейму lol:SetPoint("CENTER") -- задал место появления относительно WorldFrame lol:SetWidth(10) lol:SetHeight(10) -- задал ширину и высоту (ивенты думаю можно опустить пока) Потом заходишь в игру и на твоем лице "bleat gde my frame???!!!" Ну ответ конечно прост - фрейма то создалать , просто ты ее не видишь (типа прозрачная и без текстуры) ,что бы видеть ее- нужно сделать еще пару шагов : Код local art = lol:CreateTexture("ARTWORK") -- задать текстурку art:SetAllPoints() art:SetTexture(1.0, 0, 0) -- задать цвет текстурки (в rgb разумеется) art:SetAlpha(0.5) -- задать уровень прозрачности Ну а после того как сделал все шаги - осталось сделать релог и лицезреть маленькую красную рамочку в центре экрана (ну координаты сам задавать будешь) |
| |||
| |||