87,990
社区成员
发帖
与我相关
我的任务
分享
(function() {
window.mapEditor = {
uploadBg : function() {
obj.uplpadBg.css("display","block");
},imgMove : function(){
var cfh=obj.click_follow.height()/2;
var cfw=obj.click_follow.width()/2;
$("body").bind("mousemove",function(e){
obj.click_follow.css({left : ""+e.pageX-cfh+"px",top : ""+e.pageY-cfw+"px"});
});
},imgStop : function(){
var cf_X = obj.click_follow.position().left;
var cf_Y = obj.click_follow.position().top;
if(cf_X<data.mapL){
obj.click_follow.css("display","none");
return false;
}
var cfh=obj.click_follow.height();
var cfw=obj.click_follow.width();
obj.click_follow.clone(true).appendTo("body").animate({left : ""+cf_X+"px",top : ""+cf_Y+"px"},0,function(){
$(this).attr("name","article");
var bw=Math.ceil((cf_X-data.mapL-data.mapPL)/data.norms);
var bh=Math.ceil((cf_Y-data.mapPT)/data.norms);
var w=Math.ceil(cfh/data.norms);
var h=Math.ceil(cfw/data.norms);
for(var i=0;i<h;i++){
for(var j=0;j<w;j++){
matrix[bh+i][bw+j]=1;
}
}
});
obj.click_follow.css("display","none");
},eraser : function(){
if(data.flagHinder!=3){
obj.followMouse.html("<img src='"+path+"/mapEditor/images/remove.png' />");
obj.followMouse.css("display","block");
data.flagHinder=3;
}
else{
obj.followMouse.html("");
obj.followMouse.css("display","none");
data.flagHinder=0;
}
},setHinder : function(a){
if(data.flagHinder==1){
obj.followMouse.html("");
obj.followMouse.css("display","none");
data.flagHinder=0;
}else{
obj.setRoad.css("display","none");
obj.setHinder.css({left : ""+$(a).position().left+"px",top : ""+($(a).position().top+$(a).height())+"px"});
obj.setHinder.css("display","block");
}
},setRoad : function(a){
if(data.flagHinder==2){
obj.followMouse.html("");
obj.followMouse.css("display","none");
data.flagHinder=0;
}else {
obj.setHinder.css("display","none");
obj.setRoad.css({left : ""+$(a).position().left+"px",top : ""+($(a).position().top+$(a).height())+"px"});
obj.setRoad.css("display","block");
}
},scale : function(){
if(!obj.scale.is(":visible"))
obj.scale.css("display","block");
else
obj.scale.css("display","none");
}
};
})();
$(document).ready(function() {
window.obj={
uplpadBg:$("#uploadBg"),
click_follow:$("#click_follow"),
followMouse:$("#followMouse"),
setRoad:$("#setRoad"),
setHinder:$("#setHinder"),
scale:$("#main #scale"),
map:$("#main #map"),
main:$("#main")
};
window.data={
mapL:190,
mapT:$("#main #menuBar").height(),
mapPL:obj.map.position().left,
mapPT:obj.map.position().top,
norms:10,
flagHinder:0,
flagN:0
};
obj.scale.css({left : ""+(data.mapPL+data.mapL)+"px",top : ""+data.mapPT+"px"});
obj.scale.width(obj.map.find("#mapBg").width()+10);
obj.scale.height(obj.map.find("#mapBg").height()+10);
//获取map背景的大小
var arrayW=Math.ceil(obj.map.find("#mapBg").width()/10);
var arrayH=Math.ceil(obj.map.find("#mapBg").height()/10);
window.matrix = new Array(arrayW);
for(var i=0;i<arrayH;i++){
matrix[i]=new Array();
for(var j=0;j<arrayW;j++){
obj.scale.append("<div id='"+i+"' name='"+j+"' ></div>");
matrix[i][j]=0;
}
}
window.path = $("#path").val();
obj.uplpadBg.find("#btnSubmit").click(function() {
var file_url = document.getElementById("upload").files[0].getAsDataURL();
alert(file_url);
});
obj.uplpadBg.find("#btnReset").click(function() {
obj.uplpadBg.css("display","none");
});
obj.main.find("#leftChoose img").click(function(){
if(data.flagHinder!=0){
obj.followMouse.css("display","none");
alert("请取消状态后选取!");
obj.followMouse.css("display","block");
return false;
};
obj.click_follow.html("<img src="+$(this).attr("src")+" />");
obj.click_follow.css("display","block");
mapEditor.imgMove();
});
obj.click_follow.click(function(){
if(data.flagHinder==3){
var bw=Math.ceil(($(this).position().left-data.mapL-data.mapPL)/data.norms);
var bh=Math.ceil(($(this).position().top-data.mapPT)/data.norms);
var w=Math.ceil($(this).height()/data.norms);
var h=Math.ceil($(this).width()/data.norms);
for(var i=0;i<h;i++){
for(var j=0;j<w;j++){
matrix[bh+i][bw+j]=0;
}
}
$(this).remove();
}else
mapEditor.imgStop();
});
$("body").bind("mousemove",function(e){
obj.followMouse.css({left : ""+(e.pageX-4)+"px",top : ""+(e.pageY-obj.followMouse.height())+"px"});
});
$("#array").click(function(){
$("#array").html("");
for(var i=0;i<arrayH;i++){
$("#array").append("matrix["+i+"]=");
$("#array").append("[");
for(var j=0;j<arrayW;j++){
$("#array").append(matrix[i][j]+",");
}
$("#array").append("];<br> ");
}
});
obj.scale.find("div").click(function(){
var id=Number($(this).attr("id"));
var name=Number($(this).attr("name"));
var id1=id+1;
var id2=id+2;
var name1=name+1;
var name2=name+2;
if(data.flagHinder==1){
if(data.flagN==1){
$(this).html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
matrix[id][name]=1;
}else if(data.flagN==4){
$(this).html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id+"][name="+name1+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id1+"][name="+name+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id1+"][name="+name1+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
matrix[id][name]=1;
matrix[id][name1]=1;
matrix[id1][name]=1;
matrix[id1][name1]=1;
}else if(data.flagN==9){
$(this).html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id+"][name="+name1+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id+"][name="+name2+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id1+"][name="+name+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id1+"][name="+name1+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id1+"][name="+name2+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id2+"][name="+name+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id2+"][name="+name1+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
$("[id="+id2+"][name="+name2+"]").html("<img src='"+path+"/mapEditor/images/zhalan.png' />");
matrix[id][name]=1;
matrix[id][name1]=1;
matrix[id][name2]=1;
matrix[id1][name]=1;
matrix[id1][name1]=1;
matrix[id1][name2]=1;
matrix[id2][name]=1;
matrix[id2][name1]=1;
matrix[id2][name2]=1;
}
}else if(data.flagHinder==2){
if(data.flagN==1){
$(this).html("");
matrix[$(this).attr("id")][$(this).attr("name")]=0;
}else if(data.flagN==4){
$(this).html("");
$("[id="+id+"][name="+name1+"]").html("");
$("[id="+id1+"][name="+name+"]").html("");
$("[id="+id1+"][name="+name1+"]").html("");
matrix[id][name]=0;
matrix[id][name1]=0;
matrix[id1][name]=0;
matrix[id1][name1]=0;
}else if(data.flagN==9){
$(this).html("");
$("[id="+id+"][name="+name1+"]").html("");
$("[id="+id+"][name="+name2+"]").html("");
$("[id="+id1+"][name="+name+"]").html("");
$("[id="+id1+"][name="+name1+"]").html("");
$("[id="+id1+"][name="+name2+"]").html("");
$("[id="+id2+"][name="+name+"]").html("");
$("[id="+id2+"][name="+name1+"]").html("");
$("[id="+id2+"][name="+name2+"]").html("");
matrix[id][name]=0;
matrix[id][name1]=0;
matrix[id][name2]=0;
matrix[id1][name]=0;
matrix[id1][name1]=0;
matrix[id1][name2]=0;
matrix[id2][name]=0;
matrix[id2][name1]=0;
matrix[id2][name2]=0;
}
}
});
obj.setHinder.find("div").click(function(){
data.flagN=$(this).attr("si");
obj.followMouse.html("<img src='"+path+"/mapEditor/images/zhalanda.png' />");
obj.followMouse.css("display","block");
data.flagHinder=1;
obj.setHinder.css("display","none");
});
obj.setRoad.find("div").click(function(){
data.flagN=$(this).attr("si");
obj.followMouse.html("<img src='"+path+"/mapEditor/images/huifu.png' />");
obj.followMouse.css("display","block");
data.flagHinder=2;
obj.setRoad.css("display","none");
});
});