Помощь с скриптамм Leadwerks
| |
Lea | Дата: Воскресенье, 21 Июня 2015, 09:18 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Добрый всем день. Мне нужна помощь со скриптами в движке Leadwerks, я не могу разобраться в принципе построения их. Для начала мне требуется скрип для вида, так сказать, от третьего лица, с пояснениями.
PS/ Leadwerks последней версии
|
|
| |
ant0N | Дата: Воскресенье, 21 Июня 2015, 12:00 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Что именно не понятно? Скрипт для вида от третьего лица есть нас оф.сайте.
Blender 3D, Godot Engine, LUA
|
|
| |
Lea | Дата: Воскресенье, 21 Июня 2015, 14:27 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| ant0N, есть то есть, но я все равно не пойму принцип(
|
|
| |
ant0N | Дата: Воскресенье, 21 Июня 2015, 16:52 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| ну кинь код, который не можешь понять, попробую объяснить.
Blender 3D, Godot Engine, LUA
|
|
| |
Lea | Дата: Воскресенье, 21 Июня 2015, 19:02 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Сначала вот это код из примераКод Script.health=100 Script.levelcomplete=false Script.coinscollected=0 if TotalCoins==nil then TotalCoins=0 end
function Script:Start() self.camera = Camera:Create() self.startposition = self.entity:GetPosition(true) self.font = Font:Load("Fonts/Ranchers-Regular.ttf",32) if self.font==nil then local context = Context:GetCurrent() self.font = context:GetFont() end self:Respawn() end
function Script:SetLevelComplete(nextmapname) self.nextmapname=nextmapname self.levelcomplete=true self.levelcompletetime=Time:GetCurrent() end
function Script:TakeDamage(damage) self.health = self.health - damage if self.health<=0 then self:Respawn() end end
function Script:CollectCoin() self.coinscollected=self.coinscollected+1 end
function Script:Respawn() self.health=100 self.entity:SetPosition(self.startposition) self.entity:SetRotation(0,0,0) self.entity:SetVelocity(Vec3(0,0,0)) self.entity:SetOmega(Vec3(0,0,0)) self.gamestarttime = Time:GetCurrent()+2000 end
function Script:UpdateWorld() self.camera:SetRotation(45,0,0) self.camera:SetPosition(self.entity:GetPosition()) self.camera:Move(0,0,-4) end
function Script:UpdatePhysics() local window = Window:GetCurrent() local movex=0 local movey=0 local movez=0 local force=10 local jumpforce=800 if Time:GetCurrent()<self.gamestarttime then return end if self.levelcomplete then self.entity:SetMass(0) return end if window:KeyDown(Key.A) then movex = movex - force end if window:KeyDown(Key.D) then movex = movex + force end if window:KeyDown(Key.S) then movez = movez - force end if window:KeyDown(Key.W) then movez = movez + force end self.entity:AddForce(movex,movey,movez,true) end
function Script:Collision(entity, position, normal, speed)
end
function Script:PostRender(context) local t = Time:GetCurrent() local timetostart = self.gamestarttime-t context:SetBlendMode(Blend.Alpha) context:SetColor(1,0,0,1) local text local prevfont = context:GetFont() prevfont:AddRef() context:SetFont(self.font) local fh=self.font:GetHeight() local timestring if self.levelcomplete==false then self.timeelapsed = t - self.gamestarttime if self.timeelapsed>0 then local seconds = math.floor(self.timeelapsed/1000) local minutes = math.floor(seconds / 60) seconds = seconds - minutes * 60 if seconds<10 then seconds = "0"..seconds end text = minutes..":"..seconds else text = "0:00" end self.timestring=text end if self.levelcomplete then if t-self.levelcompletetime>3000 then changemapname=self.nextmapname end text="Level Complete" context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-fh)/2-fh*1.5) text="Время: "..self.timestring context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-fh)/2) text="Coins: "..self.coinscollected.."/"..TotalCoins context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-self.font:GetHeight())/2+fh*1.5) else if timetostart>-1000 then text="Go!" if timetostart>0 then text="Get Ready..." end context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-self.font:GetHeight())/2) else text="Time: "..self.timestring context:DrawText(text,context:GetWidth()-self.font:GetTextWidth(text)-8,8) text="Coins: "..self.coinscollected.."/"..TotalCoins context:DrawText(text,context:GetWidth()-self.font:GetTextWidth(text)-8,8+fh*1.5) end end context:SetFont(prevfont) prevfont:Release() context:SetBlendMode(Blend.Solid) context:SetColor(1,1,1,1) end
|
|
| |
Tymonr | Дата: Воскресенье, 21 Июня 2015, 20:30 | Сообщение # 6 |
With OpenSource forever♥
Сейчас нет на сайте
| Предлагаю дружно на эту тему забить. ТС явно из "сделайте за меня все"
З.Ы. а ТСу советую забить на ледверкс сразу и переходить на что-то более адекватное. UE, unity, CE
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
Сообщение отредактировал Tymonr - Воскресенье, 21 Июня 2015, 20:32 |
|
| |
Lea | Дата: Воскресенье, 21 Июня 2015, 20:40 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Tymonr, нет, ТС пытается разобраться. Я просто не разберусь. Просто тут документация, по сравнению с тем же ХНА, не такая адекватная. Добавлено (21 июня 2015, 20:39) --------------------------------------------- Tymonr, лидверкс вполне адекватный движок, кстати. Добавлено (21 июня 2015, 20:40) --------------------------------------------- Я просто хочу, что бы нашелся человек, который мне объяснит по человечески, что к чему.
|
|
| |
AlexStein | Дата: Воскресенье, 21 Июня 2015, 20:45 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Цитата Lea ( ) Tymonr, нет, ТС пытается разобраться. Я просто не разберусь. Просто тут документация, по сравнению с тем же ХНА, не такая адекватная. Добавлено (21 июня 2015, 20:39) --------------------------------------------- Tymonr, лидверкс вполне адекватный движок, кстати.
Слишком уж он тугой, потрудиться нужно, чтобы что-то дельное сделать
|
|
| |
Tymonr | Дата: Воскресенье, 21 Июня 2015, 20:48 | Сообщение # 9 |
With OpenSource forever♥
Сейчас нет на сайте
| Lea, я написал одну игру на нем. И очень пожалел. Это было мучительно. Да, в том числе из-за отсутствия какой-либо актуальной документации.
А скрипты, если говорить о конструкторе ледвекркса, привязываются к объектам во вкладке их параметров. Код и не нужен.
Если же ты о их редактировании, то вперед за изучением LUA
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
Lea | Дата: Воскресенье, 21 Июня 2015, 21:40 | Сообщение # 10 |
был не раз
Сейчас нет на сайте
| Tymonr, меня интересует применение того, что в документации обозвано API Reference
Сообщение отредактировал Lea - Воскресенье, 21 Июня 2015, 21:42 |
|
| |
Tymonr | Дата: Понедельник, 22 Июня 2015, 09:33 | Сообщение # 11 |
With OpenSource forever♥
Сейчас нет на сайте
| Lea, а, лол. Ты, как я и говорил: "Ничо не умею, сделайте все за меня". Ты хотя бы конктретный вопрос сформулируй
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
Lea | Дата: Понедельник, 22 Июня 2015, 13:48 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| Tymonr, отлично. 1. Принцип приклепления камеры к персонажу. 2 Назначение управления камерой и персонажем.
|
|
| |
Tymonr | Дата: Понедельник, 22 Июня 2015, 13:54 | Сообщение # 13 |
With OpenSource forever♥
Сейчас нет на сайте
| Lea, это не вопросы по API. Эти вопросы описаны в базовом туториале(Серия и пресозданных сцен, при запуске все предлагает)
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
Lea | Дата: Понедельник, 22 Июня 2015, 22:15 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| Tymonr, я знаю, но я не пойму. Объясни мне человеческим простым языком.
Цитата Tymonr ( ) это не вопросы по API
Цитата Lea ( ) Мне нужна помощь со скриптами
|
|
| |
|