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

360云盘做服务器建设网站长沙竞价优化

360云盘做服务器建设网站,长沙竞价优化,做网站都有哪些费用,网页设计与制作学后感创建cocos工程.bat在多人合作的cocos项目中,大家公用一个ccs文件,存在的问题是如果大家都提交ccs文件比较容易出现冲突,解决冲突麻烦要耗费时间,不提交的话就拉不到其他人更新的csd文件。 方案一 解决冲突,更新提交c…

创建cocos工程.bat在多人合作的cocos项目中,大家公用一个ccs文件,存在的问题是如果大家都提交ccs文件比较容易出现冲突,解决冲突麻烦要耗费时间,不提交的话就拉不到其他人更新的csd文件

方案一  解决冲突,更新提交ccs文件

这种方案也可以说没有方案,容易造成开发人员不愿意提交自己的ccs文件

方案二 每个人拷贝一个ccs文件自己用

这种方案比较简单粗暴,缺点是要看别人的csd文件需要打开别人的工程

方案三 ccs文件不进行维护,由脚本生成

先说工作流,当需要看别人的csd的时候

1.更新svn(假如版控用svn)

2.执行脚本

CreateCocosProject.py,注意读者需要根据脚本存放位置适当修改文件

#!/usr/bin/python
# -*- coding: utf-8 -*-import os, shutil, re, sys
import xml.etree.ElementTree as ET
from xml.dom import minidomSCRIPT_PATH = os.path.dirname(os.path.realpath(__file__))COCOS_PATH = os.path.realpath(os.path.join(SCRIPT_PATH, "..", "cocosstudio"))
PROJECT_NAME = sys.argv[1]# COCOS_INCLUDE_DIRS = {"res":True, "csb":True, "preview":True}
# COCOS_UNINCLUDE_DIRS = {"res/csb":True, "res/spine":True, "res/chatEmoji":True}
OUT_PATH = os.path.realpath(os.path.join(COCOS_PATH, "..",PROJECT_NAME))# 获取csd文件类型
def GetCsdFileType(csdPath):print(csdPath)tree = ET.parse(csdPath)propertyGroupNode = tree.getroot().find("./PropertyGroup")attrib = propertyGroupNode.attribreturn attrib["Type"]#创建一个工程节点
def CreateProjectNode(csdPath):e = ET.Element("Project")csdType = GetCsdFileType(csdPath)csdName = os.path.basename(csdPath)e.set("Type", csdType)e.set("Name", csdName)return e#获取plsit文件frames
def GetPlistFrames(plistPath):tree = ET.parse(plistPath)rootDict = tree.getroot().find("dict")frames = []dictList = list(rootDict)sizeStr = ""for i in range(0, len(dictList), 2):node1 = dictList[i]node2 = dictList[i+1]if node1.text == "frames":framesNodes = node2.findall("./key")for frameNameNode in framesNodes:frames.append(frameNameNode.text)return framesdef CreatePListNode(plistPath):e = ET.Element("PlistImageFolder")plistName = os.path.basename(plistPath)plistBaseName = os.path.splitext(plistName)[0]e.set("PListFile", plistName)e.set("Name", ".%s_PList.Dir" % plistBaseName)# 添加子节点frames = GetPlistFrames(plistPath)for frame in frames:childE = ET.Element("PlistImageFile")childE.set("Name", frame)childE.set("Key", frame)e.append(childE)return edef CreateFolderNode(folderName):e = ET.Element("Folder")e.set("Name", folderName)return edef CreateNode(tag, filePath):e = ET.Element(tag)eBaseName = os.path.basename(filePath)e.set("Name", eBaseName)return e
def CreateCsiNode(csiName):eBaseName = os.path.basename(csiName)e = ET.Element("PlistInfo")eBaseName = os.path.basename(csiName)e.set("Name", eBaseName)e.set("Type", "Plist")return ezh_pattern = re.compile(u'[\u4e00-\u9fa5]+')
def contain_zh(word):if word.find(" ") != -1:print(u"Error:发现空格")print(word)return Truetry:word = word.encode("utf-8")global zh_patternmatch = zh_pattern.search(word)return matchexcept UnicodeError:print(u"Error:发现中文")print(word)return Truereturn matchdef CreateHead():Solution = ET.Element("Solution")PropertyGroup = ET.Element("PropertyGroup", {"Name":"CocosProject", "Type":"CocosStudio", "Version":"3.10.0.0"})SolutionFolder = ET.Element("SolutionFolder")Group = ET.Element("Group", {"ctype":"ResourceGroup"})RootFolder = ET.Element("RootFolder", {"Name":"."})Solution.append(PropertyGroup)Solution.append(SolutionFolder)SolutionFolder.append(Group)Group.append(RootFolder)return Solution, RootFolderdef checkCanAdd(dirName):# if dirName.find(".svn") != -1:#     return False# p = dirName[len(COCOS_PATH) + 1:]# p = p.replace(os.path.sep, "/")# for k in COCOS_INCLUDE_DIRS:#     if re.match(r"^%s.*"%k, p):#         for j in COCOS_UNINCLUDE_DIRS:#             if re.match(r"^%s.*"%j, p):#                 return False#         return Truereturn Truedef TraversalDir(dirPath):rootNode, rootFolderNode = CreateHead()nodeDict = {}nodeDict[""] = rootNodeindex = 0for root, dirs, files in os.walk(dirPath):if not checkCanAdd(root):continueif re.match(r'.*_PList.Dir.*', root):continueif contain_zh(root):exit(-1)tempFolderPath = root[len(COCOS_PATH) + 1:]rIndex = tempFolderPath.rfind(os.path.sep)folderNode = NonedirName = NonedirKey = Noneif -1 != rIndex:dirName = tempFolderPath[rIndex+1:]dirKey = tempFolderPath[0:rIndex]parentNode = nodeDict[dirKey]folderNode = CreateFolderNode(dirName)parentNode.append(folderNode)nodeDict[tempFolderPath] = folderNodeelif tempFolderPath == "":folderNode = rootFolderNodeelse:folderNode = CreateFolderNode(tempFolderPath)nodeDict[tempFolderPath] = folderNoderootFolderNode.append(folderNode)for file in files:if contain_zh(os.path.join(root, file)):exit(-1)childNode = Noneext = os.path.splitext(file)if len(ext) == 2 :extName = ext[1].lower()if extName == ".png" or extName == ".jpg":if not os.path.exists(os.path.join(root, ext[0]+".plist")):childNode = CreateNode("Image", file)elif extName == ".mp3":childNode = CreateNode("Audio", file)elif extName == ".ttf":childNode = CreateNode("TTF", file)elif extName == ".fnt":childNode = CreateNode("Fnt", file)elif extName == ".csd":fullCsdPath = os.path.join(root, file)childNode = CreateProjectNode(fullCsdPath)elif extName == ".csi":childNode = CreateCsiNode(file)elif extName == ".plist":if root.find("particle") != -1:childNode = CreateNode("PlistParticleFile", file)   else:if os.path.exists(os.path.join(root, ext[0]+".png")):fullPlistPath = os.path.join(root, file)childNode = CreatePListNode(fullPlistPath)if childNode is not None:folderNode.append(childNode)# tree.write(OUT_PATH)# strArr = PrettyDumpXml(rootNode, 0)# rootNode.write(OUT_PATH)# print(list(rootFolderNode))# for node in list(rootFolderNode):#     print(node.attrib)pFile = open(OUT_PATH, "w")pFile.write(ET.tostring(rootNode))pFile.close()def rewriteXml():doc_xml = minidom.parse(OUT_PATH)pFile = open(OUT_PATH, "w")doc_xml.writexml(pFile, "\t", "\t", "\n", "utf-8")pFile.close()TraversalDir(COCOS_PATH)
rewriteXml()

创建cocos工程.bat

@echo off
set dir=%~dp0
cd %dir%scripts
echo %dir%scripts
python CreateCocosProject.py game_ui_edit.ccs
pause
http://www.hkea.cn/news/897352/

相关文章:

  • 铜陵公司做网站中国网站排名100
  • 我要建一个网站泰州百度公司代理商
  • php响应式网站模板vi设计公司
  • 随身wifi网站设置广告投放是做什么的
  • 中企动力做网站的优势网络销售平台有哪些软件
  • 网站建设的费用如何查看百度搜索指数
  • 自己做网站需要什么seo的基本步骤
  • 视频直播app开发网站南京最新消息今天
  • 溧阳手机网站哪里做万网域名注册官网查询
  • 网站维护收费推广产品吸引人的句子
  • 怎么用一个主机做多个网站许昌网络推广公司
  • 网站域名所有权郑州网站运营专业乐云seo
  • 桂园精品网站建设费用网站seo查询站长之家
  • 安卓手机怎么做网站站长工具seo综合查询广告
  • 余姚网站建设的公司手机百度账号申请注册
  • 预付网站制作费怎么做凭证如何自制网站
  • 定制网站多少钱北京seo网站管理
  • 南昌做网站公司哪家好如何建立独立网站
  • 成都解放号网站建设什么是百度竞价
  • 网站优化的基本思想与原则百度号码
  • 沧州网站建设制作设计优化深圳seo优化推广
  • 建立一个网站需要什么技术网上培训机构
  • 网站设计与管理论文百度账号注册平台
  • 网站空间商推荐seo是什么职位缩写
  • 怎么建设boss网站文件外链
  • 百度推广网站建设费百度搜索引擎的网址是多少
  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法