2014-01-20 2 views
0

В моем приложении для короны у меня есть персонаж, который может fly во время игры. Это достигается прикосновением к jump/fly button. Я достиг этого как:Получение координат объекта в игре короны SDK

local c=false -- Flag residing fly/jump button state 

function up:touch(event) 
    if event.phase == "began" 
    c=true 
    elseif event.phase =="ended" then 
    c=false 
    end 
end 

function jump(event) 
    if c then 
    character:applyForce (0,-300, character.x, character.y) 
    end 
end 

up:addEventListener("touch", up) 
Runtime:addEventListener("enterFrame", jump) 

Теперь мне нужно отключить кнопку, пока персонаж не достигнет земли снова. Для этого я решил проверить позицию символа Y во время выполнения, но не знаю, как это сделать. Я не уверен, правильная идея или нет. Если у вас есть лучший вариант, пожалуйста, предложите мне это также.

Проблема:

  1. Я хочу сделать функцию, которая будет вычислять object.x и object.y координаты и сохранение их на х и у переменных все время, когда приложение работает.
  2. Я начинаю работать в lua, есть ли способ программирования на C++ в короне?

Теперь я хочу, чтобы сразу отключить кнопку перехода.

+0

Что вы пытаетесь достичь этим? –

+0

Дело в том, что я хочу установить кнопку для прыжка только для того, чтобы быть нажатой, если персонаж находится на земле. Поэтому мне нужна координата y, чтобы увидеть, можно ли нажать кнопку перехода. – user3215624

+1

Не могли бы вы просто проверить символ 'y', когда вам это нужно? –

ответ

2

Это делает то, что вы просите

local objX, objY 
local obj 

--this runs every frame 
local function onEnterFrame(event) 
    objX = obj.x 
    objY = obj.y 
end 

Runtime:addEventListener("enterFrame", onEnterFrame) 

И для части C++, я не думаю, что вы можете сделать это, сценарии Corona находятся в Lua. read this to learn Lua

Смежные вопросы