123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- function NumberManager() {
- base(this,LSprite,[]);
- this.init();
- }
- NumberManager.prototype.init = function() {
- var self = this;
- self.colorMap = COLOR_MAP;
- self.colorMap.offset = {x:15,y:90};
- self.board = {x:15,y:90,width:616,height:856};
- self.targetList = Util.shuffle(Util.range(0,35));
- self.step = 0;
- self.setNumbers();
- self.seriesCount = 0;
- self.addEventListener(LEvent.END_CONTACT, self.onremoved);
- };
- NumberManager.prototype.setNumbers = function(){
- var self = this;
- self.targetListText = [];
- for(var i = 0; i < self.targetList.length; i++){
- var theTextField = new LTextField();
- theTextField.color = "#926f05";
- theTextField.size = 28;
- theTextField.text = (i+1)+"";
- theTextField.font = "微软雅黑";
- self.addChild(theTextField);
- theTextField.x = self.colorMap.positions[17][0]+self.board.x-theTextField.getWidth()*.5;
- theTextField.y = self.colorMap.positions[17][1]+self.board.y-theTextField.getHeight()*.6;
- theTextField.targetX = self.colorMap.positions[self.targetList[i]][0]+self.board.x-theTextField.getWidth()*.5;
- theTextField.targetY = self.colorMap.positions[self.targetList[i]][1]+self.board.y-theTextField.getHeight()*.6;
- LTweenLite.to(theTextField, 0.5, {x:theTextField.targetX, y:theTextField.targetY, loop:false, ease:LEasing.Sine.easeIn})
- self.targetListText.push(theTextField);
- }
- }
- NumberManager.prototype.isInBoard = function(point){
- var self = this;
- if(point.x > self.board.x
- && point.y > self.board.y
- && point.x < self.board.x+self.board.width
- && point.y < self.board.y+self.board.height
- ){
- return true;
- }
- return false;
- }
- NumberManager.prototype.getColorFromMap = function(point){
- var self = this;
- var x = parseInt(point.x/self.colorMap.rate);
- var y = parseInt(point.y/self.colorMap.rate);
- return self.colorMap.datalist[y*(parseInt(self.colorMap.wOriginal/self.colorMap.rate))+x]
- }
- NumberManager.prototype.isCorrect = function(color){
- var self = this;
- if(color == self.targetList[self.step]+1){
- return true;
- }
- return false;
- }
- NumberManager.prototype.dealCorrect = function(){
- var self = this;
- self.targetListText[self.step].color = "#cea95e"
- self.targetListText[self.step].isSelected = true;
- self.step++;
- self.seriesCount++;
- }
- NumberManager.prototype.dealWrong = function(color){
- var self = this;
- self.seriesCount = 0;
- if(color){
- console.log(color)
- var index = self.targetList.indexOf(color-1)
- var object = self.targetListText[index];
- if(!object.isPlayingWrongTips){
- var duration = 0.2;
- var originalColor = object.color;
- var targetColor = "#ef4a10";
- object.color = targetColor;
- object.isPlayingWrongTips = true;
- LTweenLite.to(object, duration, {loop:false, ease:LEasing.None.easeIn, onComplete:function(){
- if(!object.isSelected){
- object.color = originalColor;
- }
- }})
- .to(object, duration, {loop:false, ease:LEasing.None.easeIn, onComplete:function(){
- if(!object.isSelected){
- object.color = targetColor;
- }
- }})
- .to(object, duration, {loop:false, ease:LEasing.None.easeIn, onComplete:function(){
- if(!object.isSelected){
- object.color = originalColor;
- }
- object.isPlayingWrongTips = false;
- }});
- }
- }
- }
- NumberManager.prototype.hit = function(point){
- var self = this;
- if(self.isInBoard(point)){
- pointInBoard = {x:point.x-self.board.x, y:point.y-self.board.y}
- var color = self.getColorFromMap(pointInBoard);
- if(self.isCorrect(color)){
- self.dealCorrect();
- return;
- }else{
- self.dealWrong(color)
- }
- }
- self.dealWrong();
- }
- NumberManager.prototype.getNextNumber = function(){
- var self = this;
- return (self.step+1);
- }
- NumberManager.prototype.getSeriesCount = function(){
- var self = this;
- return (self.seriesCount);
- }
- NumberManager.prototype.onremoved = function() {
- var self = this;
- }
|