three+physicsjs实现一款三维小球避障小游戏代码
代码语言:html
所属分类:游戏
代码描述:three+physicsjs实现一款三维小球避障小游戏代码
代码标签: three physicsjs 三维 小球 避障 小游戏
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body {width: 100%; hight: 100%;} canvas {width: 100%; hight: 100%;} </style> </head> <body > <div id="TutContainer"></div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.96.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/physicsjs.min.js"></script> <script> var sceneWidth; var sceneHeight; var camera; var scene; var renderer; var dom; var sun; var ground; //var orbitControl; var rollingGroundSphere; var heroSphere; var rollingSpeed = 0.008; var heroRollingSpeed; var worldRadius = 26; var heroRadius = 0.2; var sphericalHelper; var pathAngleValues; var heroBaseY = 1.8; var bounceValue = 0.1; var gravity = 0.005; var leftLane = -1; var rightLane = 1; var middleLane = 0; var currentLane; var clock; var jumping; var treeReleaseInterval = 0.5; var lastTreeReleaseTime = 0; var treesInPath; var treesPool; var particleGeometry; var particleCount = 20; var explosionPower = 1.06; var particles; //var stats; var scoreText; var score; var hasCollided; init(); function init() { // set up the scene createScene(); //call game loop update(); } function createScene() { hasCollided = false; score = 0; treesInPath = []; treesPool = []; clock = new THREE.Clock(); clock.start(); heroRollingSpeed = rollingSpeed * worldRadius / heroRadius / 5; sphericalHelper = new THREE.Spherical(); pathAngleValues = [1.52, 1.57, 1.62]; sceneWidth = window.innerWidth; sceneHeight = window.innerHeight; scene = new THREE.Scene(); //the 3d scene scene.fog = new THREE.FogExp2(0xf0fff0, 0.14); camera = new THREE.PerspectiveCamera(60, sceneWidth / sceneHeight, 0.1, 1000); //perspective camera renderer = new THREE.WebGLRenderer({ alpha: true }); //renderer with transparent backdrop renderer.setClearColor(0xfffafa, 1); renderer.shadowMap.enabled = true; //enable shadow renderer.shadowMap.type = THREE.PCFSoftShadowMap; renderer.setSize(sceneWidth, sceneHeight); dom = document.getElementById("TutContainer"); dom.appendChild(renderer.domElement); //stats = new Stats(); //dom.appendChild(stats.dom); createTreesPool(); addWorld(); addHero(); addLight(); addExplosion(); camera.position.z = 6.5; camera.position.y = 2.5; /*orbitControl = new THREE.OrbitControls( camera, renderer.domElement );//helper.........完整代码请登录后点击上方下载按钮下载查看
网友评论0