• Страница 1 из 1
  • 1
Создание фигруы по координатам.
tokim
Скаут
Понимаю, вопрос не очень. Но у меня возникла проблема с созданием фигруы по координатам 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.


И ничего не происходит. sad
Где ошибка?
Сообщение # 1 написано 30.08.2014 в 11:09
lapobk
Скаут
Это потому что не указаны координаты появления вашего квадрата на экране.

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
Unstopable1001
Чемпион
Цитата tokim ()
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)


Вам необходимо указать текстуру вашего фрейма. До совершения этого у вас ничего отображаться не будет и не должно. Еще один совет - включите в настройках интерфейса ошибки луа - сэкономите время и себе и пользователям форума.
Сообщение # 3 отредактировано Unstopable1001 - Суббота, 30.08.2014, 21:10
Dreamqt
Скаут
Цитата tokim ()
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) -- задать уровень прозрачности


Ну а после того как сделал все шаги - осталось сделать релог и лицезреть маленькую красную рамочку в центре экрана (ну координаты сам задавать будешь)
Сообщение # 4 отредактировано Dreamqt - Вторник, 09.09.2014, 06:45
  • Страница 1 из 1
  • 1
Поиск: