Пятница, 29 Марта 2024, 05:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » 3D движки для разработки игр » Помощь с скриптамм Leadwerks
Помощь с скриптамм 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 ()
Мне нужна помощь со скриптами
Форум игроделов » Движки для разработки игр и сложные системы разработки » 3D движки для разработки игр » Помощь с скриптамм Leadwerks
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг