码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2d-x在Lua中添加3d模型创建3D动画

时间:2014-12-23 06:45:22      阅读:1037      评论:0      收藏:0      [点我收藏+]

标签:cocos2d-x

--3d模型和3D动画的创建

require"Cocos2d"

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

   return cc.Scene:create()

end)

--添加create函数

function Sprite3DScene:create()

   local scene=Sprite3DScene.new()

   scene:addChild(scene:init())

  return scene

end

--添加构造函数

function Sprite3DScene:ctor()

   self.winsize=cc.Director:getInstance():getwinsize()

end

--添加初始化init()函数

function Sprite3DScene:init()

 local layer=cc.layer:create()

local spobj=cc.Sprite3D:create("boss.obj")

spobj:setTexture("boss.png")

spobj:setScale(10)

layer:addChild(spobj)

spobj:setPosition3D(cc.Vertex3F(self.winsize.width/2,self.winsize.height/2,0))

local a1=cc.RotateBy:create(10,cc.Vertex3F(360,360,360))

local a2=spobj:runAction(cc.RepeatForever:create(a1))

--添加动态模型

local spt=cc.Sprite3D:create("tortoise.c3b")

spt:setScale(0.1)

spt:setPosition3D(cc.Vertex3F(self.winsize.width/2,self.winsize.height/2-80,0))

layer:addChild(spt)

--创建3D动画

local animation=cc.Animation3D:create("tortoise.c3b")

local animate=cc.Animate3D:create(animation,0.4)

spt:runAction(cc.RepeatForever:create(animate))


   return layer

end

return Sprite3DScene


代码中调用的这些模型是从cocos2d-x-3.2中3D案例里面复制过来的。


本文出自 “计算机” 博客,请务必保留此出处http://5152481.blog.51cto.com/5142481/1593205

cocos2d-x在Lua中添加3d模型创建3D动画

标签:cocos2d-x

原文地址:http://5152481.blog.51cto.com/5142481/1593205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!