信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 2419|回复: 9
打印 上一主题 下一主题

[『C++图文教程』] 有了这个C++状态管理再也不用多语言去转换或是装插件去搞了

[复制链接]

1868

主题

1878

帖子

1万

积分

积分
10928
跳转到指定楼层
宣传软件楼主
发表于 2017-6-14 21:43:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:C++ 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件中级教程 

软件教程发布日期:2017-06-14

软件教程关键字:有了这个C++状态管理再也不用多语言去转换或是装插件去搞了

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

多年前看的一个demo使我第一次完全明白了游戏中的不同状态。这个demo能够从一个特效平滑的过渡到另一个特效,并能从2D漩涡效果直接过渡到3D渲染环境,就像是几个不同的程序写成的。


多状态不仅在demo中重要,在游戏中也同样重要。每个游戏程序基本上都是从介绍开始,显示菜单,然后进行游戏。当被击败时,游戏就结束了(通常返回到菜单界面)。大多数游戏中,很可能会同时出现多个状态——比如游戏过程中弹出菜单。




传统的处理多状态的方式是使用一大堆的ifswitch loop语句。程序从介绍状态开始一直循环,直到按下一个键;然后菜单就显示了,直到完成了选择操作;游戏开始了,就一直循环,直到游戏结束。每一次游戏循环,程序还得检查是应该显示菜单还是简单的绘制下一帧。而且,处理事件的那部分程序还必须判断输入究竟是菜单来相应还是游戏来相应。所有的这些组合起来就形成了一个主循环,可以发现这个大杂烩很难理解,并且调试和维护起来也不方便。




状态是什么呢?(What’s a state?)




游戏状态就像是游戏的一个单独的程序。每个状态需要以不同的方式处理事件,需要在屏幕上绘制不同的内容。每个状态还需要处理它自己的事件、更新游戏场景、绘制下一帧等等。因此,我们可以确定状态应该至少拥有三个方法。




状态又应该能够加载图形、自初始化、释放资源。并且有时状态还需要暂停,还要能够恢复。




到此为止,状态类就应该看起来如下所示:



class CGameState{public:  void Init();  void Cleanup();
  void Pause();  void Resume();
  void HandleEvents();  void Update();  void Draw();};


上面的状态类设计应该能够满足游戏的状态需求。把它当作基类,从它可以派生出游戏所需要的每一种状态——介绍状态(intro state)、菜单状态(menu state)、游戏状态(play state)等等。




状态管理器(The State Manager





接下来,我们需要一个管理状态的方法——状态管理器。状态管理器是游戏引擎本身的一部分。别人可能会选择创建一个单独的状态管理类,而我只是把它直接加到引擎中。我们先来看看一个游戏引擎能做什么,然后再设计一个类来完成这些功能。




我们的这个例子很简单,整个引擎需要做到是初始化SDL和完成后的清理工作。由于在主循环需要用到这个引擎,因此需要检查引擎是否仍然在运行、是否退出,以及处理事件、更新游戏、绘制帧序列。




状态管理器实际上很简单。我们用 “状态栈”来管理各种不同的游戏状态。在此用STL的vector来实现状态栈。除此之外,还需要改变状态的方法,以及入栈和出栈方法。




至此,游戏引擎类就如下所示:



class CGameEngine{public:
  void Init();  void Cleanup();
  void ChangeState(CGameState* state);  void PushState(CGameState* state);  void PopState();
  void HandleEvents();  void Update();  void Draw();
  bool Running() { return m_running; }  void Quit() { m_running = false; }
private:  // the stack of states  vector<CGameState*> states;
  bool m_running;};


这些成员函数中有几个非常简单的——HandleEvents(), Update() 和Draw()。它们只需简单的调用栈顶状态对象相应的成员函数即可。由于需要经常访问游戏引擎中的数据,因此需要在以上三个成员函数中加一个指向引擎指针的参数。




最后需要考虑的是状态之间的切换。引擎如何知道状态何时切换到另一个状态?答案是:它不知道。只有当前的状态知道什么时候转向下一个状态。于是,我们又需要为状态类加一个改变状态的成员函数。




对于状态类时,我们把它设计为一个抽象基类——它的大部分成员函数设计为纯虚函数。这就保证了它的子类都必须得实现这些方法。经过这些更改后,最后的游戏状态类如下所示:



class CGameState{public:  virtual void Init() = 0;  virtual void Cleanup() = 0;
  virtual void Pause() = 0;  virtual void Resume() = 0;
  virtual void HandleEvents(CGameEngine* game) = 0;  virtual void Update(CGameEngine* game) = 0;  virtual void Draw(CGameEngine* game) = 0;
  void ChangeState(CGameEngine* game,                    CGameState* state) {    game->ChangeState(state);  }
protected:  CGameState() { }};


现在要为游戏增加状态就非常简单了,只需从基类继承一个子类,实现那几个纯虚函数就可以了。对于某种状态,在游戏中只需一个实例,因此把它们设计成Singleton模式是个不错的选择。




这种方法究竟能够把游戏简化到什么程度,如下所示的main.cpp中包含的所有代码可以说明:



int main ( int argc, char *argv[] ){  CGameEngine game;
  // initialize the engine  game.Init( "Engine Test v1.0" );
  // load the intro  game.ChangeState( CIntroState::Instance() );
  // main loop  while ( game.Running() )  {    game.HandleEvents();    game.Update();    game.Draw();  }
  // cleanup the engine  game.Cleanup();
  return 0;}


下载(Downloads




这个例子里包含了三个不同的状态——introduction state,playing state,pauses state。每种状态都用一幅背景图片来表示。



·              stateman.zip - Tutorial Source, Graphics, and Project files for Visual C++ 6.


·              stateman.tar.gz - Tutorial Source, Graphics, and Makefile for Linux.


这个例子的代码用的是SDL。如果你不熟悉,可以看一下这篇文章:Getting Started with SDL。


任务组取消

  新的Beta1 PPL的其中一个功能就是可以取消正在运行中的任务组。在task_group类型上加入run 和 wait方法是一个新的cancel方法。还有一个相应的is_canceling方法让你可以检查在进程中是否完成取消。task_group_status列举也有一个新的值叫做canceled,让你检查取消是否发生。以下的代码展示了这些新的功能:

  //declare tasks and run tasks

  task_group tg;

  tg.run(([]{printf("consoleWrite0\n");}));

  tg.run(([]{printf("consoleWrite1\n");}));

  //cancel tasks   tg.cancel();

  //check whether tasks are being cancelled

  bool taskGroupIsCanceling = tg.is_canceling();

  //check on status of task group

  task_group_status status = tg.wait();

  if (status == completed){

  printf("Tasks were completed successfully\n");

  }

  else if (status == canceled){

  printf("Tasks were canceled during task execution\n");

  }

  else{

  printf("An exception occured during task execution\n");

  }

  Combinable 类型

  达到并行执行编程任务的最大利益的有效形式之一是工作在本地拷贝或是子数据上的每一个并行分支被处理,然后当处理结束后,将结果合并。这个形式可以最大限度的减少资源争用,而且减少潜在的死锁和当并行线程试图更新相同的内存位置时所发生的数据不一致的问题。

  使用这个形式没有那么复杂,但是需要很乏味的为每一个使用进行手动编码。为了简化形式使用,Visual C++ 2010 Beta 1 添加了combinable模版类型。这个模版参数传递到combinable是每个任务将要操作的对象类型。这个类型必须有一个默认的构造器和一个拷贝构造器。通过使用local方法,每个任务访问它自己的combinable管理资源的拷贝。 当所有任务结束后,通过使用combine 或是 combine_each方法,你可以将所有结果合并到一个结果集中。

  以下的代码用三个独立的任务添加一些元素给一个矢量,然后用两个合并的方法将结果合并成一个矢量。

  //declare a combinable vector of integers

  combinable< vector< int>> v;

  //add an element to the vector using three separate tasks

  parallel_invoke(   [&]{ v.local().push_back(1); },

  [&]{ v.local().push_back(2); },

  [&]{ v.local().push_back(3); }

  );

  //merge the task-local copies using combine_each

  vector< int> result1;

  v.combine_each(

  [&](vector< int>& local)

  {

  result1.insert(result1.end(),

  local.begin(), local.end());

  }

  );

  //merge the task-local copies using combine

  vector< int> result2 = v.combine(

  [](vector< int> left, vector< int> right)->vector< int>{

  left.insert(left.end(), right.begin(), right.end());

  return left;

  });

  要注意的是在最后一行的代码语句中的lambda表达式的明确返回类型声明的使用。在lambda表达式中的两个语句阻止编译器正确推断返回类型,所以需要手动声明。

  也可以为没有默认构造器(或是在很多情况下默认构造器的使用是不合适的)的类型使用combinable,通过使用combinable构造器,它是采用了一个发生器功能创建了一些模版参数类型的对象。上面代码的前面几行是使用超载发生器构造器而重新编写的。在这种情况下,发生器功能返回已经包含一个元素的矢量。

  //declare a combinable vector of integers

  inable< vector< int>> v([]{return vector< int>(1, 0);});

  同步

  Combinable的使用取决于不需要作用在其他任务上的结果的任务。在多重任务的情况下需要分享一个对象,你必须使用更传统的同步策略。PLL本身带有三个同步原语——critical_section, reader_writer_lock 和 event。critical_section锁住内存位置防止没有锁的所有任务的访问。对于内存位置将有很多同时读取者和少数编写者,更优化的reader_writer_lock是可用的,允许多重读取者获取锁并同时访问内存位置。最后的原语是event,用于在任务和线程之间发信号。

  同步原语在concrt.h标题文件(是PPL的基本标题文件,包含在ppl.h中)中被定义。在concrt.h中定义的大多数类型的目标是图书馆作者,而不是应用程序的开发者,但是任何对深层并行开发感兴趣的人都可以自由的调查和使用恰当的来自暴露在外的类型的功能。

  critical_section类型的API是非常简单的;你使用一个blocking lock方法来获取这个锁,non-blocking try_lock会试图去获取这个锁,如果它可用的话,而且unlock会释放一个锁住的critical_section。

  reader_writer_lock是有一点点的复杂。它添加了两个方法,lock_read 和try_lock_read,可以支持获取一个reader lock。Unlock方法和critical_section是一样的,而且将释放恰当的基于锁类型的锁。

  最后的同步原语是event,这是手动复位事件(即:事件保持设置直到用外部代码进行手动复位)。代码可以通过调用实例wait方法(也是支持一个可选的timeout值),等待一个单一事件被设置。当没有timeout被定义的时候,等待的时间是无限的。你可以等待多重事件,通过使用静态wait_for_multiple,它接受C-style的event pointers。wait_for_multiple方法等待一个单一事件或是所有的事件传递到方法调用。以下的代码等待这两个事件被设置:

  event* events[2];

  events[0] = new event();

  events[1] = new event();

  parallel_invoke(

  [&]{ events[0]->set(); },

  [&]{ events[1]->set(); }

  );

  bool waitForAllEvents = true;

  event::wait_for_multiple(events, 2, waitForAllEvents);

  当同时执行很多任务的时候,处理状态管理是非常艰巨的工作。PPL提供对状态管理的一种形式的支持,就是每个线程在本地版本的分享对象上进行操作,在程序结束的时候将这些结果合并起来。对于分离状态管理的情况是不恰当的,PPL以critical_section, reader_writer_lock 和 event的形式提供传统的同步原语。



unto认真学一学C++元素命名的重点难点都在这一目了然了next自动信息发布网商之窗软件
回复

使用道具 举报

0

主题

641

帖子

627

积分

积分
627
信息发布软件沙发
发表于 2017-6-18 12:50:02 | 只看该作者
,制作完美。

回复 支持 反对

使用道具 举报

0

主题

603

帖子

573

积分

积分
573
推广工具板凳
发表于 2017-6-22 19:59:30 | 只看该作者
很好,热情有耐心!

回复 支持 反对

使用道具 举报

0

主题

605

帖子

600

积分

积分
600
软件定制开发地板
发表于 2017-6-22 20:09:09 | 只看该作者
教程很丰富,很有用。支持店主。

回复 支持 反对

使用道具 举报

0

主题

641

帖子

635

积分

积分
635
5#定制软件#
发表于 2017-6-23 04:38:29 | 只看该作者
论坛数据库真厉害,很快就搞定,修复云平台更厉害哦

回复 支持 反对

使用道具 举报

0

主题

593

帖子

603

积分

积分
603
6#定制软件#
发表于 2017-6-28 15:43:36 | 只看该作者
要求比较高的人,在合作的过程中客服一次又一次耐心的和我沟通,这种态度真的很让人感动,希望生意兴隆

回复 支持 反对

使用道具 举报

0

主题

584

帖子

578

积分

积分
578
7#定制软件#
发表于 2017-6-29 13:08:15 | 只看该作者
次了,服务好,活好,技术好,耐心,就是我有毛病,看着自己论坛不好,老买。啪啪啪

回复 支持 反对

使用道具 举报

0

主题

1093

帖子

1105

积分

积分
1105
8#定制软件#
发表于 2017-7-7 01:21:27 | 只看该作者
很好,好评!!

回复 支持 反对

使用道具 举报

0

主题

612

帖子

596

积分

积分
596
9#定制软件#
发表于 2017-7-7 09:24:58 | 只看该作者
常满意

回复 支持 反对

使用道具 举报

0

主题

586

帖子

582

积分

积分
582
10#定制软件#
发表于 2017-7-8 08:56:24 | 只看该作者
店主,速度很快,很满意,正好赶上我得活动,谢谢店主,这次活动赚钱了,再来设计,哈哈

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
信息发布软件AIWROK软件安卓随机工具应用函数生成
AIWROK软件安卓随机工具应用函数生成
信息发布软件用在AIWORK软件代码中的实用符号分类整理2
用在AIWORK软件代码中的实用符号分类整理2 软件IDE用Emoji符号分类整理(含用途说明)一、表情与情感1. 微笑 [*]😀 笑脸(基础开心反馈,用于操作成功后的友好提示) [*]😃 笑脸大眼睛(强化开心情绪,用于重要任务完成后的积极反馈) [*]😄 笑脸和微笑的眼睛(温和友好的状态,用于日常交互中的正向回应) [*]😁 带着微笑的眼睛(轻松愉悦的反馈,用于轻度成功或趣味操作) [*]
信息发布软件AIWROK软件图像二值化的各种方法和应用场景
AIWROK软件图像二值化的各种方法和应用场景
信息发布软件AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:
信息发布软件AIWROK软件用图找图示例templateMat方法
AIWROK软件用图找图示例templateMat方法
信息发布软件苹果JS代码运行时[selfRunTime]小结
苹果JS代码运行时[selfRunTime]小结 方法一:stop 停止运行[/backcolor]方法二:runOnUIThread ui 线程中运行函数[/backcolor]
信息发布软件苹果系统专用H5创建一个绿色文件
苹果系统专用H5创建一个绿色文件
信息发布软件AIWROK软件技术分享苹果IOS系统获取外部IP
AIWROK软件技术分享苹果IOS系统获取外部IP
信息发布软件AIWROK软件安卓总结图像视觉处理[opencv]方法
AIWROK软件安卓总结图像视觉处理[opencv]方法 方法1:getcolorNum:获取区域颜色数量 方法2:gradientProcessing:计算梯度 方法3:invertColor:颜色翻转 方法4:openImg:开运算 方法5:removeSmallObjects:去杂点 方法7:shapeSplit:分隔提取 方法8:shapeSplitEx:cv 文件分隔提取 方法9:templateMatch:模板匹配 方法10:threshold:二值化 方法11:toGray:转灰度图 方法12:
信息发布软件AIWROK软件start.js简单H5直接调用
信息发布软件AIWROK苹果系统简单的UI界面分享一下
信息发布软件图像视觉处理[opencv]小结3
图像视觉处理[opencv]小结3 方法1:findImageOneSift:找图(SIFT 算法) 方法2:findImagesEx:cv 文件找图 方法3:findMultiColor:找色 方法4:findMultiColorEx:cv 文件多点找色 方法5:gaussianBlur:高斯滤波 方法6:getAllShap:获取所有 Shape 方法7:getContours:获取轮廓图
信息发布软件AIWROK软件图像视觉处理[opencv]小结2
AIWROK软件图像视觉处理[opencv]小结2 方法 1:coverageArea:图片抹除方法2:dilateImage:图像膨胀 方法3:drawRect:Shape 绘制 方法4:erodeImage:图像腐蚀 方法5:filtersEx:cv 文件滤镜 方法6:findImageOneKAZE:找图(KAZE 算法)
信息发布软件AIWORK软件图像视觉处理[opencv]小结1
AIWORK软件图像视觉处理[opencv]小结1// 1. HSV颜色变换:对图像进行HSV通道的颜色变换,可调整色相、饱和度、对比度// 参数说明:输入图像(Mat)、色相参数(int)、饱和度参数(int)、对比度参数(int)// 返回值:处理后的Mat图像function hsvTransform() { // 截取屏幕区域(432,768)大小、100质量的图像并转为Mat格式 var mat = screen.screenShot(432, 768, 100).getMat(); // 调用HSV变换:色相17、饱和度17、对比度17
信息发布软件浏览器H5方法小结
浏览器H5方法小结
信息发布软件AIWROK软件漂亮对接H5简单示例
AIWROK软件漂亮对接H5简单示例
信息发布软件AIWROK软件线程优先级示例
AIWROK软件线程优先级示例
信息发布软件AIWORK软件在屏幕底部显示实时日志可以移动
AIWORK软件在屏幕底部显示实时日志可以移动
信息发布软件安卓HID贝塞尔曲线手势操作示例
安卓HID贝塞尔曲线手势操作示例
信息发布软件安卓端与H5页面交互的完整实现
安卓端与H5页面交互的完整实现
信息发布软件苹果系统里如何使用OCR进行文本识别并执行点击操作
苹果系统里如何使用OCR进行文本识别并执行点击操作
信息发布软件AIWROK软件列表控件 [uiList] 实例演示
AIWROK软件列表控件 实例演示
信息发布软件安卓列表控件 [uiList] 方法小结
安卓列表控件 方法小结 方法 1:add方法 2:addArray方法 3:clear方法 4:delete方法 5:execSQL方法 6:exportData方法 7:exportTxt方法 8:findByID方法 9:getColumnCount方法 10:getColumnIndex方法 11:getColumnName方法 12:getColumnNames方法 13:getCount方法 14:getCursorSetp方法 15:getPosition方法 16:getString方法 17:getStringl方法 18:importData方法 19:isLast方法 20:move方法 21:moveNext方法
信息发布软件安卓版AIWROK软件APP操作类小结合集
安卓版AIWROK软件APP操作类小结合集 方法 1:代理模式获取当前 activity 地址[/backcolor]方法 2:getAllApp 获取所有 app[/backcolor]方法 3:getAppName 获取 APP 名字[/backcolor]方法 4:getCurrentActivity 无障碍获取当前 activity 地址[/backcolor]方法 5:getLocalAppName 获取自己 APP 名字(AIWORK 打包)[/backcolor]方法 6:getLocalVerName 获取自己版本号(AIWORK 打包)[/backcolor]方法 7:getMemory
信息发布软件AIWROK软件苹果点击开始按钮运行最简单的封装脚本例子
AIWROK软件苹果点击开始按钮运行最简单的封装脚本例子 另外主脚本.js封装的:
信息发布软件安卓toast吐司的各种方法应用实例
安卓toast吐司的各种方法应用实例
信息发布软件AIWROK软件支持悬浮窗自由定位和拖拽功能
AIWROK软件支持悬浮窗自由定位和拖拽功能
信息发布软件AIWROK软件安卓工具箱悬浮窗
AIWROK软件安卓工具箱悬浮窗
信息发布软件安卓通过floatUI创建悬浮窗H5界面
安卓通过floatUI创建悬浮窗H5界面
信息发布软件安卓专用吐司toast倒计时到指定时间并显示剩余时间
安卓专用吐司toast倒计时到指定时间并显示剩余时间
信息发布软件aiwrok软件适用于安卓环境下的外网IP获取工具实例
aiwrok软件适用于安卓环境下的外网IP获取工具实例
信息发布软件苹果系统激活模式投屏
1.安装AK-Runner链接下载https://www.pgyer.com/akrunner或者扫码下载AK-Runner.ipa2.安装后需要信任证书找到 设置 --通用---VPN与设备管理3.激活AK-Runner激活需要pc,首先下载激活器📎AK-Runner激活器.zip新手机需要爱思助手协助开启开发者模式,开启过的可以忽略。(爱思助手最好使用最新版)打开爱思助手按照提示操作即可,打开实时投屏。能获取到屏幕信息即可。如果没有出现可能是手机没有开启开发者模式,参考爱思助手
信息发布软件AIWROK软件全部硬件HID按键码小结集合
AIWROK软件全部硬件HID按键码小结集合 方法真实示例:
信息发布软件IOS苹果系统创建具有现代H5视觉效果的界面
IOS苹果系统创建具有现代H5视觉效果的界面
信息发布软件IOS苹果示例如何使用不同的UI风格创建直接运行脚本的按钮
IOS苹果示例如何使用不同的UI风格创建直接运行脚本的按钮
信息发布软件AIWROK苹果IOS线条类[Line]复杂示例
AIWROK苹果IOS线条类[Line]复杂示例
信息发布软件AIWROK软件苹果IOS线条实作简单示例
AIWROK软件苹果IOS线条实作简单示例

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2025-12-17 22:14 , Processed in 0.279378 second(s), 59 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表