修改SearchPaths的三种方式

2.1.2开始引擎重构了CCFileUtils,添加了资源的搜索路径队列,目前提供的修改接口有两个addSearchPath和setSearchPaths。
addSearchPath在当前队列的最后添加新路径。
setSearchPaths可以一次添加多个路径,有两种写法:insert(来源于AssetsManagerTest)和push_back(来源于HelloCpp)。
两个接口都支持相对路径和绝对路径,使用相对路径时,会自动补全。
使用getSearchPaths可以获得当前路径队列。

一、向空队列添加
1.无测试代码
  1. std::vector<std::string> searchPaths1 = CCFileUtils::sharedFileUtils()->getSearchPaths();
  2. for (std::vector<std::string>::const_iterator iter = searchPaths1.begin(); iter != searchPaths1.end(); ++iter)
  3. {
  4. CCLOG("searchPaths1 : %s", iter->data());
  5. }

  6. //添加测试代码

  7. std::vector<std::string> searchPaths2 = CCFileUtils::sharedFileUtils()->getSearchPaths();
  8. for (std::vector<std::string>::const_iterator iter = searchPaths2.begin(); iter != searchPaths2.end(); ++iter)
  9. {
  10. CCLOG("searchPaths2 : %s", iter->data());
  11. }
复制代码

两次取到的都只有资源根目录

2.使用addSearchPath
  1. CCFileUtils::sharedFileUtils()->addSearchPath("480_800");
  2. CCFileUtils::sharedFileUtils()->addSearchPath("720_1280");
复制代码
Win32

Andriod

可以看到新路径按顺序添加在最后

3.setSearchPaths的insert方式
  1. std::vector<std::string> searchPaths;
  2. searchPaths.insert(searchPaths.begin(), "480_800");
  3. searchPaths.insert(searchPaths.begin(), "720_1280");
  4. CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths);
复制代码
Win32

Andriod

可以看到后插入的排在最前面

4.setSearchPaths的push_back方式
  1. std::vector<std::string> searchPath;
  2. searchPath.push_back("720_1280");
  3. searchPath.push_back("480_800");
  4. CCFileUtils::sharedFileUtils()->setSearchPaths(searchPath);
复制代码
Win32

Andriod同3,略
可以看出路径按添加顺序排在前面

二、如果队列里已经有路径,可以先调用getSearchPaths获得队列,然后修改队列
  1. CCFileUtils::sharedFileUtils()->addSearchPath("480_856");

  2. std::vector<std::string> searchPaths1 = CCFileUtils::sharedFileUtils()->getSearchPaths();
  3. for (std::vector<std::string>::const_iterator iter = searchPaths1.begin(); iter != searchPaths1.end(); ++iter)
  4. {
  5. CCLOG("searchPaths1 : %s", iter->data());
  6. }

  7. //添加测试

  8. std::vector<std::string> searchPaths2 = CCFileUtils::sharedFileUtils()->getSearchPaths();
  9. for (std::vector<std::string>::const_iterator iter = searchPaths2.begin(); iter != searchPaths2.end(); ++iter)
  10. {
  11. CCLOG("searchPaths2 : %s", iter->data());
  12. }
复制代码
1.insert方式
  1. searchPaths1.insert(searchPaths1.begin(), "480_800");
  2. searchPaths1.insert(searchPaths1.begin(), "720_1280");
  3. CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths1);
复制代码

可以看到后添加的排在前面,多了一个根路径的原因是,接口会判断路径的最后一个字符是不是"/",如果不是则添加一个,而接口在最后会判断是否已经添加过根路径,如果没有则加上,因为多了一个"/",导致接口认为没有加过,所以Win32下有这个问题,安卓下没有问题

2.push_back方式
  1. searchPaths1.push_back("720_1280");
  2. searchPaths1.push_back("480_800");
  3. CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths1);
复制代码

可以看到新路径按顺序加在最后
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Kubernetes中,您可以使用以下三种方式来部署Nginx: 1. 使用Deployment和Service:这是最常见的部署方式,它使用Deployment控制器来管理Pod的创建和伸缩,并使用Service将流量路由到Pod。以下是一个示例配置: Deployment配置(nginx-deployment.yaml): ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 ``` Service配置(nginx-service.yaml): ```yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer ``` 使用命令部署: ``` kubectl apply -f nginx-deployment.yaml kubectl apply -f nginx-service.yaml ``` 2. 使用Helm Chart:Helm是Kubernetes的包管理工具,可以简化应用程序的部署和管理。您可以使用Helm Chart来部署Nginx。以下是一个示例配置: 创建Helm Chart: ``` helm create nginx-chart ``` 编辑Chart配置文件(values.yaml): ```yaml replicaCount: 3 image: repository: nginx tag: latest pullPolicy: IfNotPresent service: name: nginx-service type: LoadBalancer port: 80 ``` 安装Helm Chart: ``` helm install nginx nginx-chart ``` 3. 使用Kubernetes Ingress:Ingress是Kubernetes集群中的一个API对象,它充当流量入口,并将流量路由到不同的服务。您可以使用Ingress来部署Nginx,并通过Ingress规则配置路由。以下是一个示例配置: 创建Ingress资源(nginx-ingress.yaml): ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx-ingress spec: rules: - host: example.com http: paths: - pathType: Prefix path: / backend: service: name: nginx-service port: number: 80 ``` 使用命令部署: ``` kubectl apply -f nginx-deployment.yaml kubectl apply -f nginx-ingress.yaml ``` 请注意,这些示例仅提供了基本的部署配置。根据您的需求,您可能需要进行其他配置,例如使用持久卷声明(Persistent Volume Claim)来存储Nginx日志文件或自定义Nginx配置等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值