admin管理员组

文章数量:1534192

2024年1月25日发(作者:)

Unity发布webgl,借助脚本自动处理元素替换(进阶版)

进阶的目的

在实际的使用中发现,有些小的需求,可能导致WebGL项目的批量的修改,及批量的发布,这个时候,就可以进阶到批量处理元素替换了。可以进一步的节省时间,提高效率,提升自动化处理的程度。

进阶脚本

下面是采用Python编写的脚本,您可以在此基础上,进行修改,使其和自己的项目进行适配,达到您的个性化需求的目的。

webgl_脚本

#!D:UsersgjcAppDataLocalProgramsPythonPython39-32

# 处理unity webgl发布后的替换问题

import os

import shutil

project_name = 'ElectricLab'

def copyimg(old_name, new_name):

le(old_name, new_name)

def delFiles(cur_path):

fn = ['', '', '']

for item in fn:

path = cur_path + item

if (path):

(path)

def replaceStr(file, old_str, new_str):

"""

替换文件中的字符串

:param file:文件名

:param old_str:就字符串

:param new_str:新字符串

:return:

"""

file_data = ""

with open(file, "r", encoding="utf-8") as f:

for line in f:

if old_str in line:

line = e(old_str, new_str)

file_data += line

with open(file, "w", encoding="utf-8") as f:

(file_data)

def isAlreadyReplace(file, str):

with open(file, "r", encoding="utf-8") as f:

for line in f:

if str in line:

return True

return False

def dealwithIndexHtml(title):

# 处理index

index = local_filename + '/'

# 去掉右下角的图标

if isAlreadyReplace(index, ''):

return

old_str = r'

'

new_str = ''

replaceStr(index, old_str, new_str)

# 全屏

old_str = r'

' + project_name + '
'

new_str = '

全屏
'

replaceStr(index, old_str, new_str)

# 添加js文件

old_str = r''

new_str = 'nn'

replaceStr(index, old_str, new_str)

# 修改标题

old_str = r'Unity WebGL Player | ' + project_name + ''

new_str = '' + title + ''

replaceStr(index, old_str, new_str)

# local_filename = h('.') #从上一级目录调用的时候,这个取到的是上级目录,目录不对,下面的调用就白费了

local_filename = e(__file__) # 路径里面的有空格会报错的,这个要保证路径中没有空格

index = local_filename + '/'

# if isAlreadyReplace(index, ''):

# print(local_filename + '----已处理过,exit')

# exit()

print(local_filename + '----处理中')

filename = (local_filename)[1]

# 复制图片文件

copyimg(r'E:/mydevelop/unity/work/git/gaoyadian/onekey_material/webgl_',

local_filename + '/Build/' + filename + '.jpg')

copyimg(r'E:/mydevelop/unity/work/git/gaoyadian/onekey_material/',

local_filename + '/TemplateData/')

copyimg(r'E:/mydevelop/unity/work/git/gaoyadian/onekey_material/',

local_filename + '/TemplateData/')

copyimg(r'E:/mydevelop/unity/work/git/gaoyadian/onekey_material/',

local_filename + '/TemplateData/')

copyimg(r'E:/mydevelop/unity/work/git/gaoyadian/onekey_material/',

local_filename + '/TemplateData/')

# 删除文件

delFiles(local_filename + '/TemplateData/')

# 处理

dealwithIndexHtml(filename)

脚本

#!D:UsersgjcAppDataLocalProgramsPythonPython39-32

# 先运行more,webgl_onekey会拷贝到相应的目录,进行小项目的处理的

# 处理unity webgl发布后的替换问题 运行more,该文件夹下的webgl都会进行处理

import os

import shutil

def copyfile(old_name, new_name):

le(old_name, new_name)

def delFile(cur_path):

if (cur_path):

(cur_path)

dirs = [name for name in r('.') if (('.', name))]

local_filename = h('.')

for item in dirs:

old_name = r'webgl_'

new_name = local_filename + '/' + item + '/webgl_'

if not (local_filename + '/' + item + '/Build'):

continue

copyfile(old_name, new_name)

pyfilestr = ('python ' + new_name)

p = (pyfilestr)

delFile(new_name)

脚本中已添加了相应的注释,比较好理解,不做过多的解释了,拿来用就好。实现自动办公可以提高工作效率、减少错误、节省成本,更加高效地运作,并更好的服务于自己。

心情变得更好了,如果不看MN的话。

本文标签: 处理替换脚本