当前位置: 首页 > news >正文

国外对旅游网站的建设注册咨询服务公司有什么要求

国外对旅游网站的建设,注册咨询服务公司有什么要求,品牌包包都有哪些牌子,企业网站排版规则过完年来公司#xff0c;没什么事#xff0c;主管说研究下html5 游戏#xff0c;然后主管就给了一个斗地主的demo#xff0c;随后我就开始看代码#xff0c; 现在我看了html5以及canvas相关知识和斗地主的demo后#xff0c;自己用demo上的素材试着写了个斗地主#xff0…           过完年来公司没什么事主管说研究下html5 游戏然后主管就给了一个斗地主的demo随后我就开始看代码 现在我看了html5以及canvas相关知识和斗地主的demo后自己用demo上的素材试着写了个斗地主代码没重构好欢迎赐教。           演示地址:CanVas斗地主           话不多说下面就一步一步解释下吧           只有一个common.js文件 1、资源类 1 var Resource Class.create();2 $.extend(Resource.prototype, {3 initialize: function () { },4 Images: [5 { path: img/bg1.png, x: 0, y: 0, w: 800, h: 480, data: null, type: 61, visible: true },6 { path: img/BeiMian.jpg, x: 320, y: 5, w: 100, h: 121, data: null, type: 62, visible: true },7 { path: img/btn.jpg, x: 300, y: 281, w: 140, h: 50, data: null, type: 63, visible: true, text: 开始, textX: 366, textY: 310 },8 { x: 0, y: 0, type: 66, isText: true, visible: false },9 { path: img/1.jpg, data: null, type: 16, visible: false }, 10 { path: img/2.jpg, data: null, type: 17, visible: false }, 11 { path: img/3.jpg, data: null, type: 3, visible: false, se: 1 }, 12 { path: img/4.jpg, data: null, type: 4, visible: false, se: 1 }, 13 { path: img/5.jpg, data: null, type: 5, visible: false, se: 1 }, 14 { path: img/6.jpg, data: null, type: 6, visible: false, se: 1 }, 15 { path: img/7.jpg, data: null, type: 7, visible: false, se: 1 }, 16 { path: img/8.jpg, data: null, type: 8, visible: false, se: 1 }, 17 { path: img/9.jpg, data: null, type: 9, visible: false, se: 1 }, 18 { path: img/10.jpg, data: null, type: 10, visible: false, se: 1 }, 19 { path: img/11.jpg, data: null, type: 11, visible: false, se: 1 }, 20 { path: img/12.jpg, data: null, type: 12, visible: false, se: 1 }, 21 { path: img/13.jpg, data: null, type: 13, visible: false, se: 1 }, 22 { path: img/14.jpg, data: null, type: 14, visible: false, se: 1 }, 23 { path: img/15.jpg, data: null, type: 15, visible: false, se: 1 }, 24 { path: img/16.jpg, data: null, type: 3, visible: false, se: 4 }, 25 { path: img/17.jpg, data: null, type: 4, visible: false, se: 4 }, 26 { path: img/18.jpg, data: null, type: 5, visible: false, se: 4 }, 27 { path: img/19.jpg, data: null, type: 6, visible: false, se: 4 }, 28 { path: img/20.jpg, data: null, type: 7, visible: false, se: 4 }, 29 { path: img/21.jpg, data: null, type: 8, visible: false, se: 4 }, 30 { path: img/22.jpg, data: null, type: 9, visible: false, se: 4 }, 31 { path: img/23.jpg, data: null, type: 10, visible: false, se: 4 }, 32 { path: img/24.jpg, data: null, type: 11, visible: false, se: 4 }, 33 { path: img/25.jpg, data: null, type: 12, visible: false, se: 4 }, 34 { path: img/26.jpg, data: null, type: 13, visible: false, se: 4 }, 35 { path: img/27.jpg, data: null, type: 14, visible: false, se: 4 }, 36 { path: img/28.jpg, data: null, type: 15, visible: false, se: 4 }, 37 { path: img/29.jpg, data: null, type: 3, visible: false, se: 3 }, 38 { path: img/30.jpg, data: null, type: 4, visible: false, se: 3 }, 39 { path: img/31.jpg, data: null, type: 5, visible: false, se: 3 }, 40 { path: img/32.jpg, data: null, type: 6, visible: false, se: 3 }, 41 { path: img/33.jpg, data: null, type: 7, visible: false, se: 3 }, 42 { path: img/34.jpg, data: null, type: 8, visible: false, se: 3 }, 43 { path: img/35.jpg, data: null, type: 9, visible: false, se: 3 }, 44 { path: img/36.jpg, data: null, type: 10, visible: false, se: 3 }, 45 { path: img/37.jpg, data: null, type: 11, visible: false, se: 3 }, 46 { path: img/38.jpg, data: null, type: 12, visible: false, se: 3 }, 47 { path: img/39.jpg, data: null, type: 13, visible: false, se: 3 }, 48 { path: img/40.jpg, data: null, type: 14, visible: false, se: 3 }, 49 { path: img/41.jpg, data: null, type: 15, visible: false, se: 3 }, 50 { path: img/42.jpg, data: null, type: 3, visible: false, se: 2 }, 51 { path: img/43.jpg, data: null, type: 4, visible: false, se: 2 }, 52 { path: img/44.jpg, data: null, type: 5, visible: false, se: 2 }, 53 { path: img/45.jpg, data: null, type: 6, visible: false, se: 2 }, 54 { path: img/46.jpg, data: null, type: 7, visible: false, se: 2 }, 55 { path: img/47.jpg, data: null, type: 8, visible: false, se: 2 }, 56 { path: img/48.jpg, data: null, type: 9, visible: false, se: 2 }, 57 { path: img/49.jpg, data: null, type: 10, visible: false, se: 2 }, 58 { path: img/50.jpg, data: null, type: 11, visible: false, se: 2 }, 59 { path: img/51.jpg, data: null, type: 12, visible: false, se: 2 }, 60 { path: img/52.jpg, data: null, type: 13, visible: false, se: 2 }, 61 { path: img/53.jpg, data: null, type: 14, visible: false, se: 2 }, 62 { path: img/54.jpg, data: null, type: 15, visible: false, se: 2 } 63 ] 64 }); Resource.Images是素材数组(几个按钮文本54张牌,背景图片等),大家可以下载demo看看 2、Lables类,在Canvas画布上画文本的,比如按钮文字,相关知识请看canvas教程 1 var Labels Class.create();2 $.extend(Labels.prototype, {3 initialize: function (cxt) {4 this.cxt cxt;5 },6 setText: function (text, postion) {7 this.cxt.font bold 20px serif;8 this.cxt.fillStyle #000000;9 this.cxt.textAlign center; 10 this.cxt.fillText(text, postion.x, postion.y); 11 } 12 }); 这个类的方法setText主要是根据设置的字体字体大小字体颜色在Canvas上画文本的this.cxt这个是canvas上下文(每个教程的叫法不一样)首先this.cxt.font bold 20px serif;这个是设置字体大小样式等this.cxt.fillStyle #000000;这个 是设置字体颜色this.cxt.textAlign center;这个是设置字体对齐方式,this.cxt.fillText(text, postion.x, postion.y);这个是开始在canvas上画文本,postion.x, postion.y分别是x坐标和y坐标。 3、DdZGame游戏类主要功能就是初始化斗地主发牌抢地主等出牌未完待续后续更新 1 var DdZGame Class.create();2 DdZGame.Statics { DealedNums: 0, isLeftFirstDeal: true };3 $.extend(DdZGame.prototype, {4 initialize: function () {5 DdZGame.Statics.IsGetLander false;6 DdZGame.Statics.DealTime 66;7 this.leftPokers [];8 this.rightPokers [];9 this.myPokers [];10 this.LastPokers [];//最后3张牌11 12 this.leftPlays [];13 this.rightPlays [];14 this.myPlays [];15 16 this.myBtnPostion { y: 245, x: 162 };17 18 this.isStart false;19 20 this.Res new Resource();21 22 this.allPokers new Array();23 24 this.Lander 0;//地主,1右边,2My,3左边25 this.isGetLander {};26 this.GmCanvas document.getElementById(gmCanvas);27 28 29 this.cxt this.GmCanvas.getContext(2d);30 this.Lbl new Labels(this.cxt);31 this.init();32 this.initEvt();33 },34 initEvt: function () {35 this.GmCanvas.onclick $.proxy(function (e) {36 var box this.GmCanvas.getBoundingClientRect();37 38 DdZGame.Statics.MousePostion { x: e.pageX - box.left, y: e.pageY - box.top };39 this.onControlClick();40 }, this);41 },42 onControlClick: function () {43 var isClick false;44 for (var i 0; i this.Controls.length; i) {45 var c this.Controls[i];46 var postion DdZGame.Statics.MousePostion;47 if (c.onClick) {48 if (postion.x c.x postion.x c.x c.w postion.y c.y postion.y c.y c.h) {49 c.onClick();50 isClick true;51 break;52 }53 }54 }55 if (!isClick) {56 for (var i 0; i this.myPokers.length; i) {57 var c this.myPokers[i];58 var postion DdZGame.Statics.MousePostion;59 if (c.onClick) {60 if (postion.x c.x postion.x c.x c.w postion.y c.y postion.y c.y c.h) {61 c.onClick();62 isClick true;63 break;64 }65 }66 }67 }68 },69 loadImages: function (callback) {70 var loadedNums 0;71 var totalNums this.Res.Images.length - 1;72 this.Controls [];73 $.each(this.Res.Images, $.proxy(function (i, o) {74 if (!o.path) {75 return true;76 }77 o.data new Image();78 o.data.src o.path;79 o.data.onload $.proxy(function () {80 if (o.type 17) {81 this.allPokers.push(o);82 }83 else84 this.Controls.push(o);85 86 87 loadedNums;88 if (loadedNums totalNums) {89 callback.call(this);90 }91 }, this);92 }, this));93 },94 drawImage: function (callback, isUnVisibleLast) {//isVisibleLast 是否让底牌不可见95 $.each(this.Controls, $.proxy(function (i, o) {96 if (!o.visible)97 return true;98 if (o.type 62) {99 var x 0; 100 for (var i 0; i 54 - DdZGame.Statics.DealedNums ; i) { 101 if (i 0) x o.x; 102 this.cxt.drawImage(o.data, o.x, o.y, o.w, o.h); 103 o.x; 104 } 105 o.x x; 106 } 107 else if (!o.isText) { 108 this.cxt.drawImage(o.data, o.x, o.y, o.w, o.h); 109 } 110 if (o.type 63) { 111 this.Lbl.setText(o.text, { x: o.textX, y: o.textY }); 112 113 114 115 if (!o.onClick) 116 o.onClick $.proxy(function () { 117 o.onClick null; 118 o.visible false; 119 this.drawImage(); 120 this.Dealing(); 121 }, this); 122 } 123 124 if (o.type 66) { 125 this.Lbl.setText(o.text, { x: o.x, y: o.y }); 126 } 127 }, this)); 128 129 130 /*克隆*/ 131 var copyLeftPokers this.leftPokers.slice(); 132 var copyRightPokers this.rightPokers.slice(); 133 var copyMyPokers this.myPokers.slice(); 134 var copyLastPokers this.LastPokers.slice(); 135 136 var isDealEndLeft false; 137 var isDealEndRight false; 138 var isDealEndMy false; 139 var isDealEndLast false; 140 141 var beiMain $.grep(this.Res.Images, $.proxy(function (o, i) { return o.type 62; }, this))[0]; 142 var DrawPokers function (arry, direction, isBeiMian, identiy, axis) { 143 if (arry arry.length 0) { 144 var o arry[0]; 145 var x 0, y 0; 146 147 148 149 150 151 152 153 154 155 156 157 158 159 if (!DdZGame.Statics[direction]) { 160 DdZGame.Statics[direction] this[direction]; 161 } 162 163 if (!o.x) { 164 x DdZGame.Statics[direction].x; 165 y DdZGame.Statics[direction].y; 166 167 o.x this[direction].x; 168 o.y this[direction].y; 169 } 170 else { 171 x o.x; 172 y o.y; 173 } 174 175 176 if (!o.visible) { 177 return true; 178 } 179 180 181 182 o.w 18; 183 o.h 129; 184 if (arry.length 1) { 185 o.w 105; 186 o.h 150; 187 } 188 189 190 191 192 193 194 195 var img o.data; 196 if (isBeiMian) { 197 img beiMain.data; 198 } 199 else if (direction myPannel) { 200 o.onClick $.proxy(function () { 201 if (!this.isStart) 202 return; 203 if (!o.isPlay) { 204 o.isPlay true; 205 o.y - 30; 206 } 207 else { 208 o.isPlay false; 209 o.y 30; 210 } 211 212 DdZGame.Statics.DealTime 0; 213 this.drawImage(); 214 }, this); 215 } 216 this.cxt.drawImage(img, x, y); 217 DdZGame.Statics[direction][axis] identiy; 218 219 arry.splice(0, 1); 220 if (DdZGame.Statics.DealTime 0) 221 DdZGame.Statics[direction handle] setTimeout($.proxy(function () { 222 DrawPokers.call(this, arry, direction, isBeiMian, identiy, axis); 223 }, this), DdZGame.Statics.DealTime); 224 else 225 DrawPokers.call(this, arry, direction, isBeiMian, identiy, axis); 226 } 227 else if (DdZGame.Statics[direction handle] || DdZGame.Statics.DealTime 0) { 228 clearTimeout(DdZGame.Statics[direction handle]); 229 230 231 if (direction leftPannel copyLeftPokers.length 0) { 232 isDealEndLeft true; 233 } 234 if (direction rightPannel copyRightPokers.length 0) { 235 isDealEndRight true; 236 } 237 if (direction myPannel copyMyPokers.length 0) { 238 isDealEndMy true; 239 } 240 if (direction lastPannel copyLastPokers.length 0) { 241 isDealEndLast true; 242 } 243 if (isDealEndLeft isDealEndRight isDealEndMy isDealEndLast) { 244 /*发牌完毕*/ 245 /*抢地主*/ 246 if (callback) 247 callback(); 248 } 249 } 250 }; 251 252 253 DrawPokers.call(this, copyLeftPokers, leftPannel, true, 26, y); 254 DrawPokers.call(this, copyRightPokers, rightPannel, true, 26, y); 255 DrawPokers.call(this, copyMyPokers, myPannel, false, 19, x); 256 257 DrawPokers.call(this, copyLastPokers, lastPannel, isUnVisibleLast, 126, x); 258 }, 259 init: function () { 260 this.loadImages(this.drawImage); 261 }, 262 Dealing: function () {//发牌 263 this.leftPannel { x: 5, y: 18 }; 264 this.rightPannel { x: 691, y: 18 }; 265 this.myPannel { x: 198, y: 330 }; 266 this.lastPannel { x: 243, y: 5 }; 267 268 269 if (DdZGame.Statics.DealedNums 51) { //发牌完毕 270 271 $.each(this.allPokers, $.proxy(function (i, o) { 272 o.visible true; 273 this.LastPokers.push(o); 274 }, this)); 275 276 277 this.myPokers.sort(function (a, b) { 278 if (a.type ! b.type) 279 return b.type - a.type; 280 return b.se - a.se; 281 }); 282 $.grep(this.Res.Images, $.proxy(function (o, i) { return o.type 62; }, this))[0].visible false; 283 this.drawImage($.proxy(function () { this.GetLander(); }, this), true); 284 285 } 286 else { 287 /*1、left*/ 288 var index Math.floor(Math.random() * (this.allPokers.length - 1) 0); 289 var c this.allPokers.splice(index, 1); 290 c[0].visible true; 291 this.leftPokers.push(c[0]); 292 DdZGame.Statics.DealedNums; 293 294 /*2、right*/ 295 index Math.floor(Math.random() * (this.allPokers.length - 1) 0); 296 c this.allPokers.splice(index, 1); 297 c[0].visible true; 298 this.rightPokers.push(c[0]); 299 DdZGame.Statics.DealedNums; 300 301 index Math.floor(Math.random() * (this.allPokers.length - 1) 0); 302 c this.allPokers.splice(index, 1); 303 c[0].visible true; 304 this.myPokers.push(c[0]); 305 DdZGame.Statics.DealedNums; 306 307 this.Dealing(); 308 } 309 }, 310 GetLander: function (firstGet, minScore, curScore) { 311 /*随机出谁先叫地主*/ 312 313 //if (curScore !this.isGetLander[1] !this.isGetLander[2] !this.isGetLander[3]) { 314 // //**Game Over ! 315 // alert(无人抢地主); 316 // return; 317 //} 318 319 320 var postion { 1: { y: 100, x: 640 }, 3: { y: 100, x: 126 }, 2: { x: 216, y: 297 } }; 321 if (!curScore) { 322 if (!minScore) 323 minScore 1; 324 if (!firstGet) 325 firstGet Math.floor(Math.random() * (3 - 1 1) 1); 326 if (firstGet 1 || firstGet 3) { //电脑抢地主 327 if (this.isGetLander[firstGet] -1 || this.isGetLander[firstGet]) { 328 $.each(this.Controls, $.proxy(function (i, o) { 329 if (o.Lander) { 330 o.visible false; 331 } 332 }, this)); 333 334 var max 0; 335 if (this.isGetLander[1] this.isGetLander[2]) { 336 max this.isGetLander[1]; 337 this.Lander 1; 338 } 339 else { 340 max this.isGetLander[2]; 341 this.Lander 2; 342 } 343 if (max this.isGetLander[3]) { 344 max this.isGetLander[3]; 345 this.Lander 3; 346 } 347 if (max 0) { 348 alert(Game Over !); 349 return; 350 } 351 352 var txt max 分; 353 var t {}; 354 var tObj $.grep(this.Res.Images, function (o, i) { return o.type 66; })[0]; 355 $.extend(t, tObj);//复制对象 356 if (this.CurScore 4) { 357 txt 不抢; 358 } 359 t.text txt; 360 t.x postion[this.Lander].x; 361 t.y postion[this.Lander].y; 362 t.visible true; 363 this.Controls.push(t); 364 365 366 367 //this.drawImage($.proxy(function () { 368 369 // this.FanDiPai(this.Lander); 370 //}, this)); 371 this.FanDiPai(this.Lander); 372 return; 373 } 374 console.log(电脑抢地主); 375 this.CurScore Math.floor(Math.random() * (4 - minScore 1) minScore); 376 377 this.isGetLander[firstGet] this.CurScore 4 ? -1 : this.CurScore; 378 379 var txt this.CurScore 分; 380 var t {}; 381 var tObj $.grep(this.Res.Images, function (o, i) { return o.type 66; })[0]; 382 $.extend(t, tObj);//复制对象 383 if (this.CurScore 4) { 384 txt 不抢; 385 } 386 387 t.text txt; 388 t.x postion[firstGet].x; 389 t.y postion[firstGet].y; 390 t.visible true; 391 392 this.Controls.push(t); 393 394 if (this.CurScore 3) { 395 this.Lander firstGet; 396 //DdZGame.Statics.IsGetLander true; 397 //DdZGame.Statics.DealTime 0; 398 399 var dz {}; 400 $.extend(dz, tObj);//复制对象 401 dz.text 地主; 402 dz.x t.x 30; 403 dz.y t.y; 404 dz.visible true; 405 406 this.Controls.push(dz); 407 408 //this.drawImage($.proxy(function () { this.Play(this.Lander, 电脑地主); }, this));//电脑抢到地主优先出牌 409 this.FanDiPai(this.Lander); 410 return; 411 } 412 else { 413 if (this.CurScore 4) { 414 var test abcdefg; 415 } 416 var nextGet firstGet 1 ? 2 : 1; 417 minScore this.CurScore 4 ? minScore : this.CurScore 1; 418 this.CurScore this.CurScore 4 ? 0 : this.CurScore; 419 420 421 DdZGame.Statics.DealTime 0; 422 this.drawImage($.proxy(function () { this.GetLander(nextGet, minScore); }, this), true);//电脑抢到地主优先出牌 423 return; 424 } 425 } 426 } 427 if (curScore) { 428 /*代码写的很垃圾,这点没用面向对象*/ 429 /*My已经叫过地主按钮需要隐藏*/ 430 $.each(this.Controls, $.proxy(function (i, o) { 431 if (o.Lander) { 432 o.visible false; 433 } 434 }, this)); 435 436 this.CurScore curScore; 437 var txt this.CurScore 分; 438 var t {}; 439 var tObj $.grep(this.Res.Images, function (o, i) { return o.type 66; })[0]; 440 $.extend(t, tObj);//复制对象 441 if (this.CurScore 4) { 442 txt 不抢; 443 } 444 t.text txt; 445 t.x postion[2].x; 446 t.y postion[2].y; 447 t.visible true; 448 this.Controls.push(t); 449 450 this.isGetLander[2] curScore 4 ? -1 : curScore; 451 452 if (this.CurScore 3 || (this.isGetLander[1] this.isGetLander[3] this.CurScore ! 4)) { 453 this.Lander 2; 454 //DdZGame.Statics.IsGetLander true; 455 //DdZGame.Statics.DealTime 0; 456 457 var dz {}; 458 $.extend(dz, tObj);//复制对象 459 dz.text 地主; 460 dz.x t.x 50; 461 dz.y t.y; 462 dz.visible true; 463 464 this.Controls.push(dz); 465 466 //this.drawImage($.proxy(function () { this.Play(this.Lander, 我是地主); }, this), false);//电脑抢到地主优先出牌 467 this.FanDiPai(this.Lander); 468 return; 469 } 470 else { 471 minScore this.CurScore 4 ? minScore : this.CurScore 1; 472 this.CurScore this.CurScore 4 ? 0 : this.CurScore; 473 if (!this.isGetLander[3]) { 474 DdZGame.Statics.DealTime 0; 475 this.drawImage($.proxy(function () { this.GetLander(3, minScore) }, this), true); 476 return; 477 } 478 else { //已经转了一圈,则比较抢地主的分数大小 479 var max 0; 480 if (this.isGetLander[1] this.isGetLander[2]) { 481 max this.isGetLander[1]; 482 this.Lander 1; 483 } 484 else { 485 max this.isGetLander[2]; 486 this.Lander 2; 487 } 488 if (max this.isGetLander[3]) { 489 max this.isGetLander[3]; 490 this.Lander 3; 491 } 492 if (max 0) { 493 alert(Game Over !); 494 return; 495 } 496 497 var txt 地主; 498 var t {}; 499 var tObj $.grep(this.Res.Images, function (o, i) { return o.type 66; })[0]; 500 $.extend(t, tObj);//复制对象 501 t.text txt; 502 t.x postion[this.Lander].x; 503 t.y postion[this.Lander].y; 504 if (this.Lander ! 2) { 505 t.x 30; 506 } 507 else { 508 t.x 50; 509 } 510 t.visible true; 511 this.Controls.push(t); 512 513 514 //DdZGame.Statics.DealTime 0; 515 //this.drawImage($.proxy(function () { this.Play(this.Lander, 抢地主啊); }, this), false); 516 this.FanDiPai(this.Lander); 517 return; 518 } 519 } 520 } 521 else if (this.isGetLander[2] -1 || this.isGetLander[2]) { 522 $.each(this.Controls, $.proxy(function (i, o) { 523 if (o.Lander) { 524 o.visible false; 525 } 526 }, this)); 527 528 var max 0; 529 if (this.isGetLander[1] this.isGetLander[2]) { 530 max this.isGetLander[1]; 531 this.Lander 1; 532 } 533 else { 534 max this.isGetLander[2]; 535 this.Lander 2; 536 } 537 if (max this.isGetLander[3]) { 538 max this.isGetLander[3]; 539 this.Lander 3; 540 } 541 if (max 0) { 542 alert(Game Over !); 543 return; 544 } 545 546 var txt max 分; 547 var t {}; 548 var tObj $.grep(this.Res.Images, function (o, i) { return o.type 66; })[0]; 549 $.extend(t, tObj);//复制对象 550 if (this.CurScore 4) { 551 txt 不抢; 552 } 553 t.text txt; 554 t.x postion[this.Lander].x; 555 t.y postion[this.Lander].y; 556 t.visible true; 557 this.Controls.push(t); 558 559 560 //DdZGame.Statics.DealTime 0; 561 //this.drawImage($.proxy(function () { this.Play(this.Lander, 抢地主啊); }, this), false); 562 this.FanDiPai(this.Lander); 563 return; 564 } 565 //if (DdZGame.Statics.IsGetLander) { 566 // return; 567 //} 568 //DdZGame.Statics.IsGetLander true;//是否在抢地主 569 console.log(我抢地主); 570 var btnObj $.grep(this.Res.Images, $.proxy(function (o, i) { 571 return o.type 63; 572 }, this))[0]; 573 if (!this.CurScore) { 574 this.CurScore 0; 575 } 576 var txtX 0; 577 for (var i 1; i 3; i) { 578 if (i this.CurScore) { 579 var btn {}; 580 $.extend(btn, btnObj); 581 btn.text i 分; 582 btn.x this.myBtnPostion.x; 583 btn.y this.myBtnPostion.y; 584 btn.visible true; 585 btn.type 63; 586 btn.textX this.myBtnPostion.x 30; 587 btn.textY 286; 588 btn.h 50; 589 btn.w 81; 590 btn.Lander true; 591 btn.onClick (function (i, obj) { return function () { obj.GetLander(3, i 1, i); }; })(i, this) 592 DdZGame.Statics.DealTime 0; 593 this.Controls.push(btn); 594 this.myBtnPostion.x btn.w 10; 595 } 596 } 597 if (DdZGame.Statics.DealTime 0) { 598 var btn {}; 599 $.extend(btn, btnObj); 600 btn.text 不抢; 601 btn.x this.myBtnPostion.x; 602 btn.y this.myBtnPostion.y; 603 btn.visible true; 604 btn.type 63; 605 btn.textX this.myBtnPostion.x 30; 606 btn.textY 286; 607 btn.h 50; 608 btn.w 81; 609 btn.Lander true; 610 btn.onClick $.proxy(function () { this.GetLander(3, minScore, 4); }, this); 611 this.Controls.push(btn); 612 this.drawImage(null, true); 613 } 614 }, 615 FanDiPai: function (lander) {//翻底牌 616 DdZGame.Statics.DealTime 0; 617 var p ; 618 if (lander 1) { 619 p rightPokers; 620 } 621 else if (lander 2) { 622 p myPokers; 623 } 624 else if (lander 3) { 625 p leftPokers; 626 } 627 /*谁抢到地主,底牌归谁*/ 628 $.each(this.LastPokers, $.proxy(function (i, o) { 629 var c {}; 630 $.extend(c, o); 631 c.x null; 632 c.y null; 633 this[p].push(c); 634 test c.path; 635 }, this)); 636 if (lander 2) { 637 this.myPokers.sort(function (a, b) { 638 a.x null; 639 a.y null; 640 b.x null; 641 b.y null; 642 if (a.type ! b.type) 643 return b.type - a.type; 644 return b.se - a.se; 645 }); 646 this.myPannel { x: 198, y: 330 }; 647 DdZGame.Statics[myPannel] null; 648 } 649 this.drawImage($.proxy(function () { this.isStart true; this.Play(lander, 是地主啊); }, this), false); 650 }, 651 Play: function (lander, msg) {//出牌 652 //alert(); 653 } 654 }); View Code initialize这个函数是构造函数初始化一些起始变量。 initEvt这个里是初始化canvas事件,canvas点击事件不像svg那样因为canvas是一帧一帧画上去的html dom里是看不到里面的每个元素javascript自然也无法获取到canvas里的某个元素,那canvas元素点击事件是怎么处理的了 首先定义下canvas这个画布的事件然后定义获取鼠标的坐标再算出在canvas相对坐标因为每个元素也都有自己的坐标和宽高所以可以根据这个坐标判断这个坐标是否在某个元素内。 onControlClick这个函数是根据上面算出的坐标判断此坐标在哪个元素内如果在元素内并且定义了onclick函数(注:此处并不是真正的元素事件只是对象的一个函数属性)然后调用onclick函数执行相应的代码。 loadImages这个是加载所有图片图片加载完成之后就开始在canvas上画初始的元素。 init这个函数就是调用loadImages函数然后所有图片加载完毕之后调用回调函数在canvas上画初始的元素 Dealing 这个是发牌每方的牌都是随机的if(DdZGame.Statics.DealedNums 51)发了51张牌之后就剩3张底牌然后再把这51张牌和3张底牌画在canvas上 GetLander 这个是抢地主谁先抢地主是随机的如果是先随机到电脑抢地主那抢地主的分数也是随机的。   ...................................未完待续   转载于:https://www.cnblogs.com/ChengPuYuan/p/4311772.html
http://www.pierceye.com/news/667282/

相关文章:

  • 成立一个网站平台要多少钱科技有限公司一般是做什么的
  • 邵阳 网站开发 招聘桂林阳朔楼盘最新价格
  • 如何建设网站导航内链接wordpress 特别慢
  • 蚌埠网站建设文章网站软件定制开发公司
  • 软件通网站建设百度收录网站电话
  • 取消网站备案制度正规的电商平台有哪些
  • 茶叶网站源码php6731官方网站下载
  • 网站建设mfdos 优帮云制作简历哪个网站好
  • 淮南市城乡建设局网站网站seo收费
  • 陕西手机网站制作描述网站开发的广告词
  • 一个网址建多个网站手机网站数据加载
  • 网站视觉分析上海做saas平台网站的公司
  • 沈阳网站设计网站一键制作
  • 建设工程中标查询网站北京建设质量协会网站
  • 做公司网站要素做关于灯饰的网站
  • 网站编辑工具软件单位发购物或电影卡有哪些app
  • dw网站导航怎么做3免费网站建站
  • 用jsp做网站的代码句容网站建设制作
  • 宁国新站seo网页版微信登录提示二维码已失效
  • 深圳英文网站建设去哪家公司电商网站开发
  • 黑色网站后台出库入库管理软件app
  • 网站建设公司团队简介国外有网站备案制度吗
  • 怎么让公司网站随便就搜的到wordpress后台卡顿
  • 网站怎么做图片动态图片不显示报价单模板怎么做
  • 怎么建一个公司运营网站江西网站建设哪家专业
  • 网站后期维护费用网站开发学徒工作如何
  • 网站建站程序一站式网站建设服务
  • 滨州内做网站系统的公司购物网站开发用什么软件
  • 网站建设静态部分报告总结在合肥哪里学网站建设
  • 建站行业现状网易与暴雪合作