123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- FZ.Diamond = FZ.newClass({
- BLOCK_SPR_LIST: ["farm_1", "farm_2", "farm_3", "farm_4", "farm_5", "farm_6", "farm_7", "farm_8", "farm_9", "farm_10", "farm_11",
- "farm_12", "farm_13", "farm_14", "farm_15", "farm_16", "farm_17", "farm_18", "farm_19", "farm_20", "farm_21",
- "farm_22", "farm_23", "farm_24", "farm_25", "farm_26", "farm_27", "farm_28", "farm_29", "farm_30", "farm_31","farm_32"
- ],
-
- m_state: FZ.GameDefs.DREAMPET_INIT,
- m_search_flag: FZ.GameDefs.SEARCH_NONE,
- m_style: -1,
- m_module: -1,
-
- m_line: 0,
- m_col: 0,
- m_x: 0,
- m_y: 0,
- m_dest_x: 0,
- m_dest_y: 0,
- m_fall_time: 0,
- m_fall_speed_x: 0,
- m_fall_speed_y: 0,
- m_fall_x: 0,
- m_fall_y: 0,
- m_turn: FZ.GameDefs.DIAMOND_RORATE_NONE,
- m_angle: 0,
-
- m_spr: null,
- m_flashTime: 0,
- m_worldMatrix: null,
-
- m_back_list: null,
- m_div: null,
- m_div_focus: null,
- m_div_hint: null,
- m_callback: null,
- m_anim_callback: null,
- m_flash_count: FZ.GameDefs.FLASH_COUNT,
- init: function(line, col, style, state){
-
- this.m_search_flag = FZ.GameDefs.SEARCH_NONE;
- this.m_line = line;
- this.m_col = col;
-
- this.m_x = this.m_col * FZ.GameDefs.GRID_WIDTH + FZ.GameDefs.DREAMPET_OFFSET_X;
- this.m_y = this.m_line * FZ.GameDefs.GRID_HEIGHT + FZ.GameDefs.DREAMPET_OFFSET_Y;
- this.m_dest_x = this.m_x;
- this.m_dest_y = this.m_y;
-
- this.m_fall_time = 0;
- this.m_fall_speed_x = 0;
- this.m_fall_speed_y = 0;
-
- this.m_fall_x = this.m_x;
- this.m_fall_y = this.m_y;
- this.m_turn = FZ.GameDefs.DIAMOND_RORATE_NONE;
-
- this.m_style = Math.floor(style);
- this.m_state = Math.floor(state);
- this.m_flashTime = 0;
- this.m_worldMatrix = new FZ.Math.Matrix3();
- this.m_worldMatrix.identity();
-
-
- switch (this.m_style) {
- case FZ.GameDefs.PET_TYPE_0:{
- this.m_module = FZ.GameDefs.PET_1;
- break;
- }
- case FZ.GameDefs.PET_TYPE_1:{
- this.m_module = FZ.GameDefs.PET_2;
- break;
- }
- case FZ.GameDefs.PET_TYPE_2:{
- this.m_module = FZ.GameDefs.PET_3;
- break;
- }
- case FZ.GameDefs.PET_TYPE_3:{
- this.m_module = FZ.GameDefs.PET_4;
- break;
- }
- case FZ.GameDefs.PET_TYPE_4:{
- this.m_module = FZ.GameDefs.PET_5;
- break;
- }
- case FZ.GameDefs.PET_TYPE_5:{
- this.m_module = FZ.GameDefs.PET_6;
- break;
- }
- case FZ.GameDefs.PET_TYPE_6:{
- this.m_module = FZ.GameDefs.PET_7;
- break;
- }
- case FZ.GameDefs.PET_TYPE_7:{
- this.m_module = FZ.GameDefs.PET_8;
- break;
- }
- case FZ.GameDefs.PET_TYPE_8:{
- this.m_module = FZ.GameDefs.PET_9;
- break;
- }
- case FZ.GameDefs.PET_TYPE_9:{
- this.m_module = FZ.GameDefs.PET_10;
- break;
- }
- case FZ.GameDefs.PET_TYPE_10:{
- this.m_module = FZ.GameDefs.PET_11;
- break;
- }
- case FZ.GameDefs.PET_TYPE_11:{
- this.m_module = FZ.GameDefs.PET_12;
- break;
- }
- case FZ.GameDefs.PET_TYPE_12:{
- this.m_module = FZ.GameDefs.PET_13;
- break;
- }
- case FZ.GameDefs.PET_TYPE_13:{
- this.m_module = FZ.GameDefs.PET_14;
- break;
- }
- case FZ.GameDefs.PET_TYPE_14:{
- this.m_module = FZ.GameDefs.PET_15;
- break;
- }
- case FZ.GameDefs.PET_TYPE_15:{
- this.m_module = FZ.GameDefs.PET_16;
- break;
- }
- case FZ.GameDefs.PET_TYPE_16:{
- this.m_module = FZ.GameDefs.PET_17;
- break;
- }
- case FZ.GameDefs.PET_TYPE_17:{
- this.m_module = FZ.GameDefs.PET_18;
- break;
- }
- case FZ.GameDefs.PET_TYPE_18:{
- this.m_module = FZ.GameDefs.PET_19;
- break;
- }
- case FZ.GameDefs.PET_TYPE_19:{
- this.m_module = FZ.GameDefs.PET_20;
- break;
- }
- case FZ.GameDefs.PET_TYPE_20:{
- this.m_module = FZ.GameDefs.PET_21;
- break;
- }
- case FZ.GameDefs.PET_TYPE_21:{
- this.m_module = FZ.GameDefs.PET_22;
- break;
- }
- case FZ.GameDefs.PET_TYPE_22:{
- this.m_module = FZ.GameDefs.PET_23;
- break;
- }
- case FZ.GameDefs.PET_TYPE_23:{
- this.m_module = FZ.GameDefs.PET_24;
- break;
- }
- case FZ.GameDefs.PET_TYPE_24:{
- this.m_module = FZ.GameDefs.PET_25;
- break;
- }
- case FZ.GameDefs.PET_TYPE_25:{
- this.m_module = FZ.GameDefs.PET_26;
- break;
- }
- case FZ.GameDefs.PET_TYPE_26:{
- this.m_module = FZ.GameDefs.PET_27;
- break;
- }
- case FZ.GameDefs.PET_TYPE_27:{
- this.m_module = FZ.GameDefs.PET_28;
- break;
- }
- case FZ.GameDefs.PET_TYPE_28:{
- this.m_module = FZ.GameDefs.PET_29;
- break;
- }
- case FZ.GameDefs.PET_TYPE_29:{
- this.m_module = FZ.GameDefs.PET_30;
- break;
- }
- case FZ.GameDefs.PET_TYPE_30:{
- this.m_module = FZ.GameDefs.PET_31;
- break;
- }
- case FZ.GameDefs.PET_TYPE_31:{
- this.m_module = FZ.GameDefs.PET_32;
- break;
- }
- case FZ.GameDefs.PET_TYPE_32:{
- this.m_module = FZ.GameDefs.PET_33;
- break;
- }
- case FZ.GameDefs.PET_TYPE_33:{
- this.m_module = FZ.GameDefs.PET_34;
- break;
- }
- case FZ.GameDefs.PET_TYPE_34:{
- this.m_module = FZ.GameDefs.PET_35;
- break;
- }
- case FZ.GameDefs.PET_TYPE_35:{
- this.m_module = FZ.GameDefs.PET_36;
- break;
- }
- case FZ.GameDefs.PET_TYPE_36:{
- this.m_module = FZ.GameDefs.PET_37;
- break;
- }
- case FZ.GameDefs.PET_TYPE_37:{
- this.m_module = FZ.GameDefs.PET_38;
- break;
- }
- case FZ.GameDefs.PET_TYPE_38:{
- this.m_module = FZ.GameDefs.PET_39;
- break;
- }
- case FZ.GameDefs.PET_TYPE_39:{
- this.m_module = FZ.GameDefs.PET_40;
- break;
- }
- default:
- {
- this.m_module = FZ.GameDefs.PET_1;
- break;
- }
- }
- var url = null;
- var info = null;
-
-
-
- this.m_back_list = [];
- info = FZ.getImgInfo(this.BLOCK_SPR_LIST[this.m_module]);
- url = "url(imgs/" + info.fileURL + ")";
- this.m_back_list.push(url);
- this.m_callback = null;
-
- if (FZ.GameDefs.DREAMPET_REMOVE === state) {
- this.m_div = document.createElement("div");
- this.m_div_focus = document.createElement("div");
- this.m_div_hint = document.createElement("div");
- return;
- }
-
- this.setCss();
- //create focus div
- var num = this.m_module + 1;
- this.m_div_focus = document.createElement("div");
- this.m_div_focus.style.width = FZ.GameDefs.GRID_WIDTH + "px";
- this.m_div_focus.style.height = FZ.GameDefs.GRID_HEIGHT + "px";
- this.m_div_focus.style.position = "absolute";
- this.m_div_focus.style.backgroundRepeat = "no-repeat";
-
- this.m_div_focus.style.backgroundImage = "url(imgs/farm/" + num + "_touch.png)";
- this.hidden();
- // this.m_div_focus.style.zIndex = 3;
- this.m_div_focus.style.webkitTransition = "opacity, translate";
- this.m_div.appendChild(this.m_div_focus);
- //create hint div
- this.m_div_hint = document.createElement("div");
- this.m_div_hint.style.width = FZ.GameDefs.GRID_WIDTH + "px";
- this.m_div_hint.style.height = FZ.GameDefs.GRID_HEIGHT + "px";
- this.m_div_hint.style.position = "absolute";
- this.m_div_hint.style.backgroundRepeat = "no-repeat";
- this.m_div_hint.style.backgroundImage = "url(imgs/farm/" + num + "_touch.png)";
- this.hiddenHint();
- // this.m_div_hint.style.zIndex = 3;
- this.m_div_hint.style.webkitTransition = "opacity, translate";
- this.m_div.appendChild(this.m_div_hint);
- this.setPetFocus();
-
- },
- setCss: function(){
- this.m_div = document.createElement("div");
- this.m_div.style.width = FZ.GameDefs.GRID_WIDTH + 2 + "px";
- this.m_div.style.height = FZ.GameDefs.GRID_HEIGHT +2+ "px";
- this.m_div.style.position = "absolute";
- this.m_div.style.webkitTransition = "opacity, left, top, translate";
- this.m_div.style.webkitTransition = "opacity, translate";
- // this.m_div.style.left = this.m_x + "px";
- // this.m_div.style.top = this.m_y + "px";
- this.m_div.style.backgroundRepeat = "no-repeat";
- // this.m_div.style.webkitTransform = "translate(" + (this.m_x) + "px, " + (this.m_y) + "px)";
- this.m_div.style.left = (this.m_x) + "px";
- this.m_div.style.top = (this.m_y) + "px";
- },
- fade_in: function(){
- this.m_div.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_TIME + "ms";
- this.m_div.style.opacity = 1;
- this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_out), FZ.GameDefs.PET_FLICKER_TIME);
-
- },
- flash: function(){
- if (this.m_flash_count > 0) {
- this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms";
- this.m_div_focus.style.opacity = 0;
- this.m_flash_count--;
- this.m_timer = setTimeout(FZ.Tools.bind(this, this.flash_again), FZ.GameDefs.PET_FLICKER_FOCUS_TIME);
- }
- },
- flash_again: function(){
- this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms";
- this.m_div_focus.style.opacity = 1;
- this.m_timer = setTimeout(FZ.Tools.bind(this, this.flash), FZ.GameDefs.PET_FLICKER_FOCUS_TIME);
- },
- fade_out: function(){
- if (this.m_flash_count > 0) {
- this.m_div.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_TIME + "ms";
- this.m_div.style.opacity = 0;
- this.m_flash_count--;
- this.m_timer = setTimeout(FZ.Tools.bind(this, this.fade_in), FZ.GameDefs.PET_FLICKER_TIME);
- }
- else {
-
- if (FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state) {
- this.setState(FZ.GameDefs.DREAMPET_INIT);
- this.hiddenHint();
- }
-
- }
- },
- fadeOut: function(){
- this.m_div.style.webkitTransitionDuration = "500ms";
- this.m_div.style.opacity = 0;
- this.m_timer = setTimeout(FZ.Tools.bind(this, this.fadeEnd), 500);
- },
-
- fadeEnd: function(){
- this.setState(FZ.GameDefs.DREAMPET_REMOVE);
- //this.m_div.style.display = "none";
- this.m_div.style.visibility = "hidden";
- },
- setPetFocus: function(){
- if (FZ.GameDefs.DREAMPET_FLASH === this.m_state) {
- this.m_div.style.backgroundImage = this.m_back_list[0];
- // this.m_div.style.webkitTransition = "opacity";
- // this.m_div.style.webkitTransitionDuration = "100ms";
- this.m_div.style.opacity = 1;
- // this.m_timer = setTimeout(FZ.Tools.bind(this, this.fadeOut), 200);
- this.fadeOut();
- }
- else
- if (FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state) {
- this.m_div.style.backgroundImage = this.m_back_list[0];
- // this.m_div.style.webkitTransition = "opacity";
- // this.m_div.style.webkitTransitionDuration = 1500 + "ms";
- // this.m_div.style.opacity = 1;
- this.showHint();
- // this.m_flash_count = FZ.GameDefs.FLASH_COUNT;
- this.m_timer = setTimeout(FZ.Tools.bind(this,function(){
- if (FZ.GameDefs.DREAMPET_FLASH_HINT === this.m_state) {
- this.setState(FZ.GameDefs.DREAMPET_INIT);
- this.hiddenHint();
- }else if(this.m_state === FZ.GameDefs.DREAMPET_FOCUS){
- this.hiddenHint();
- }
- }), 1500);
- }
- else
- if (this.m_state === FZ.GameDefs.DREAMPET_INIT) {
- this.m_div.style.backgroundImage = this.m_back_list[0];
- }
- else
- if (this.m_state === FZ.GameDefs.DREAMPET_FOCUS) {
- this.m_div.style.backgroundImage = this.m_back_list[0];
- // this.m_div_focus.style.display = "inline";
- this.m_div_focus.style.visibility = "visible";
- //this.m_div.style.webkitTransform = "translate(" + (this.m_x) + "px, " + (this.m_y) + "px)";
- this.m_div_focus.style.webkitTransitionDuration = FZ.GameDefs.PET_FLICKER_FOCUS_TIME + "ms";
- this.m_div_focus.style.opacity = 1;
- this.m_flash_count = FZ.GameDefs.FLASH_FOCUS_COUNT;
- // this.m_timer = setTimeout(FZ.Tools.bind(this, this.flash), FZ.GameDefs.PET_FLICKER_FOCUS_TIME +150);
-
- }
- else
- if (this.m_state === FZ.GameDefs.DREAMPET_REMOVE) {
- //this.m_div.style.display = "none";
- this.m_div.style.visibility = "hidden";
- // this.hidden();
- }
- },
-
- show: function(){
- this.m_div_focus.style.visibility = "visible";
- },
-
- hidden: function(){
- this.m_div_focus.style.visibility = "hidden";
- },
- showHint: function(){
- this.m_div_hint.style.visibility = "visible";
- },
-
- hiddenHint: function(){
- this.m_div_hint.style.visibility = "hidden";
- },
- destroy: function(){
- //this.m_state = FZ.GameDefs.DIAMOND_STATE_DESTORY;
- if ((this.m_div) && (this.m_div.parentNode)) {
- this.m_div.parentNode.removeChild(this.m_div);
- }
-
- },
- getLine: function(){
- return this.m_line;
- },
- getCol: function(){
- return this.m_col;
- },
- setLine: function(line){
- this.m_line = line;
- },
- setCol: function(col){
- this.m_col = col;
- },
-
- getStyle: function(){
- return this.m_style;
- },
-
- getState: function(){
- return this.m_state;
- },
- setStyle: function(style){
- this.m_style = style;
- },
-
- setState: function(state){
- this.m_state = state;
- },
- getSearchFlag: function(){
- return this.m_search_flag;
- },
-
- setSearchFlag: function(flag){
- this.m_search_flag = flag;
- },
-
-
- updatePos: function(){
-
- if (!this.m_div) {
- return;
- }
- this.m_x = FZ.GameDefs.DREAMPET_OFFSET_X + FZ.GameDefs.GRID_WIDTH * this.m_col;
- this.m_y = FZ.GameDefs.DREAMPET_OFFSET_Y + FZ.GameDefs.GRID_HEIGHT * this.m_line;
- this.m_div.style.backgroundImage = this.m_back_list[0];
- //this.m_div.style.webkitTransform = "translate(" + (this.m_x) + "px, " + (this.m_y) + "px)";
- this.m_div.style.left = (this.m_x) + "px";
- this.m_div.style.top = (this.m_y) + "px";
-
- }
- });
|