为了账号安全,请及时绑定邮箱和手机立即绑定

我的怎么是向左下倾斜的

我的怎么是向左下倾斜的...

http://img1.sycdn.imooc.com//58802a45000133e005680548.jpg



local Snake=require "app.Snake"


local MainScene = class("MainScene", function()

    return display.newScene("MainScene")

end)


local cMoveSpeed=0.3


function MainScene:onEnter()

self.snake=Snake.new(self)


local tick=function()

self.snake:Update()

    end

cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick,cMoveSpeed,false);


end


function MainScene:onExit()

end


return MainScene


local Snake=class("Snake")

local Body=require("app.Body")


local cInitLen=3


function Snake:ctor(node)

self.BodyArray={}

self.node=node

self.MoveDir="left"


for i=1,cInitLen do

self:Grow(i==1)

end


end


function Snake:GetTailGrid()

if #self.BodyArray==0 then

return 0,0

end

local tail=self.BodyArray[#self.BodyArray]

return tail.X,tail.Y

end


local function OffsetGridByDir( x,y,dir )

if dir=="left" then

return x-1,y

elseif dir=="right" then

return x+1,y

elseif dir=="up" then

return x,y-1

elseif dir=="down" then

return x,y+1

end

print("unknow dir",dir)

return x,y


end


function Snake:Update()

if #self.BodyArray==0 then

return

end


for i=#self.BodyArray,1,-1 do

local body=self.BodyArray[i]

if i==1 then 

body.X,body.Y=OffsetGridByDir(body.X,body.Y,self.MoveDir);

else

local front=self.BodyArray[i-1]

body.X,body.Y=front.X,front.Y

end


body:Update()

end


end


function Snake:Grow(isHead)

local tailX,tailY=self:GetTailGrid()

local body=Body.new(self,tailX,tailY,self.node,isHead)


table.insert(self.BodyArray,body)

end



return Snake



正在回答

1 回答

你的原点可能是在左下角而不是在正中心   origin参数    

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的怎么是向左下倾斜的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信