FlashBuilder4快速入门教程

需积分: 0 1 下载量 85 浏览量 更新于2024-09-28 收藏 8.46MB PDF 举报
"FlashBuilder 4Q_airiabook.pdf 是一本由艾睿网(airia.cn)编辑团队编写的教程,旨在引导读者快速入门FlashBuilder 4和FLEX SDK 4的开发。这本书分为6个章节,内容覆盖了从基础到进阶的FLEX开发知识,特别适合初学者和有一定经验的开发者。前两章主要为新手提供入门指导,后三章则深入讲解新特性和开发实例。第六章专门讨论FLEX与服务器的通信方法。书中还列出了参与编辑的作者及其联系方式,便于读者遇到问题时寻求帮助。此外,该书源码可在指定链接下载,并强调了对文档版权的保护,禁止未经授权的商业行为。" 在 FlashBuilder 4 的使用上,读者将了解到如何设置开发环境,创建项目,以及编写ActionScript和MXML代码。FlashBuilder 4 是一个强大的集成开发环境(IDE),专为构建富互联网应用程序(RIA)而设计,尤其是基于Adobe Flex技术的应用。它提供了代码提示、调试工具和自动化构建功能,极大地提高了开发效率。 在FLEX SDK 4的新特性方面,教程可能涵盖了Spark组件集、Flex 4图形系统(Skinning和States)、数据绑定增强、新的事件模型以及改进的性能和内存管理。Spark组件库提供了更现代、可定制的用户界面元素,而新的图形系统允许开发者更灵活地设计和控制应用的外观。 通信服务章节则会讲解AMF(Action Message Format)、HTTPService、WebService以及XMLSocket等FLEX与服务器通信的方式。AMF 提供高效的数据交换,HTTPService 和 WebService 可以调用远程Web服务,XMLSocket 则支持实时双向通信。 通过本书,读者不仅可以学习到基本的编程概念,还能掌握如何利用FlashBuilder 4 和FLEX SDK 4实现复杂的RIA功能。同时,作者们提供的论坛和博客链接,为读者提供了一个互动交流和深化理解的平台。

class AbstractGreedyAndPrune(): def __init__(self, aoi: AoI, uavs_tours: dict, max_rounds: int, debug: bool = True): self.aoi = aoi self.max_rounds = max_rounds self.debug = debug self.graph = aoi.graph self.nnodes = self.aoi.n_targets self.uavs = list(uavs_tours.keys()) self.nuavs = len(self.uavs) self.uavs_tours = {i: uavs_tours[self.uavs[i]] for i in range(self.nuavs)} self.__check_depots() self.reachable_points = self.__reachable_points() def __pruning(self, mr_solution: MultiRoundSolution) -> MultiRoundSolution: return utility.pruning_multiroundsolution(mr_solution) def solution(self) -> MultiRoundSolution: mrs_builder = MultiRoundSolutionBuilder(self.aoi) for uav in self.uavs: mrs_builder.add_drone(uav) residual_ntours_to_assign = {i : self.max_rounds for i in range(self.nuavs)} tour_to_assign = self.max_rounds * self.nuavs visited_points = set() while not self.greedy_stop_condition(visited_points, tour_to_assign): itd_uav, ind_tour = self.local_optimal_choice(visited_points, residual_ntours_to_assign) residual_ntours_to_assign[itd_uav] -= 1 tour_to_assign -= 1 opt_tour = self.uavs_tours[itd_uav][ind_tour] visited_points |= set(opt_tour.targets_indexes) # update visited points mrs_builder.append_tour(self.uavs[itd_uav], opt_tour) return self.__pruning(mrs_builder.build()) class CumulativeGreedyCoverage(AbstractGreedyAndPrune): choice_dict = {} for ind_uav in range(self.nuavs): uav_residual_rounds = residual_ntours_to_assign[ind_uav] if uav_residual_rounds > 0: uav_tours = self.uavs_tours[ind_uav] for ind_tour in range(len(uav_tours)): tour = uav_tours[ind_tour] quality_tour = self.evaluate_tour(tour, uav_residual_rounds, visited_points) choice_dict[quality_tour] = (ind_uav, ind_tour) best_value = max(choice_dict, key=int) return choice_dict[best_value] def evaluate_tour(self, tour : Tour, round_count : int, visited_points : set): new_points = (set(tour.targets_indexes) - visited_points) return round_count * len(new_points) 如何改写上述程序,使其能返回所有已经探索过的目标点visited_points的数量,请用代码表示

2023-06-10 上传