zoukankan      html  css  js  c++  java
  • flash 滚屏(zhai)

    /*********************************/
    一般来讲,都是人物在背景中运动。然后再调整背景的位置使得它满足人物在中间的要求,如果超出屏幕则修正坐标使得不会出现背景外的空白区域。

    如果不这样做的话,坐标系会很混乱。

    上面那位说人物不动背景动的,还分情况的。如果有其他动态物品你想怎么处理,放背景层?那景深怎么做?不放背景层?那它们跟着背景一起动的时候,你还要循环遍历它们来移动它们?

    一般不是随便就可以说的。

    /********************************/
    用的手法比较复杂,简单说是使用Bitmap(多个)+ 最原始的 xy 移动。我还是使用了Sprite。

    不是一张BitpmapData的copy。我感觉这个会比一张BitmapData要快。觉得有比这个更快方法的欢迎来PK下。flash的性能优化总是在不断测试和PK中进步的。


    /*******************************/
    路点数据在地图一加载进来后就全部加载了(你的地图可以只加载显示的部分),然后就直接在这个路点数据上计算寻路就可以了。不需要移动。你的地图有多大?

    我自己写的是用Bitmapdata类的。。。
    关键问题是不去移动路点数据。你可以试一下。看看效率如何。因为两个都移动的话,容易出现误差。而路点数据不显示出来,只作为计算使用就行了。

    基本思路:
    1.鼠标点击后,获取舞台坐标
    2.将舞台坐标转换为世界坐标(比如,你的舞台坐标是100*100,而你的背景已经向上滚动了100像素,向右滚动了100像素,那么世界坐标应该是200,200)
    3.把世界坐标转换为网格坐标
    4.计算寻路,获得路径
    5.把路径点转换为世界坐标,如果已经靠近边缘,则移动主角(再把世界坐标转换为舞台坐标),如果没有靠近边缘,则主角在中心,移动地图

  • 相关阅读:
    数据处理
    Linux常用命令
    三大特征--多态
    封装设计思想--继承
    容器:列表、元组、字典
    封装
    python面向对象,类和对象
    python参数
    js中if条件语句以及switch条件语句的使用
    js中class类的基本理解及相关知识(一)
  • 原文地址:https://www.cnblogs.com/axyz/p/2152112.html
Copyright © 2011-2022 走看看