Director图文混排滚动解决方案

需积分: 10 1 下载量 43 浏览量 更新于2024-07-22 收藏 4.39MB PDF 举报
"Director技巧" 本资源主要介绍了使用Director软件实现图文混排滚动的技巧,适合初学者参考学习。Director是一款强大的多媒体创作工具,能够创建交互式的2D和3D应用。在处理图文混排时,往往需要解决内容超出显示框的问题,并实现滚动功能。 在解决问题的过程中,首先理解图文混排的滚动核心是保持图片和文字的相对位置不变,同时让它们适应显示框。关键思路是通过添加挡板图像,使超出部分不可见,同时保持演示框部分透明。滚动的实现可以通过调整精灵的locv属性来完成。此外,也可以通过嵌入网页文档,利用ActiveX控件或WebXtra来实现,但可能会引入不美观的IE滚动条。 制作步骤详细如下: 1. 创建背景和挡板图片,挡板图片的演示区域需设置为白色,以隐藏超出部分的内容。 2. 设计滚动条组件,包括向上、向下滚动按钮、滑动条和滑动块。 3. 导入所有素材到Director的剪辑室,并设置挡板图片的墨水效果为BkgndTransparent,使其透明,露出下方的图文内容。 4. 在滑动块精灵上添加名为slideronmark的行为,以响应鼠标操作,实现图文的滚动。具体代码逻辑包括:当鼠标按下时记录状态,鼠标移动时滑块跟随,鼠标抬起时结束拖动。 通过以上步骤,可以创建出一个自定义的、具有图文滚动功能的交互式界面。这仅仅是Director技巧的一部分,实际操作中可能需要结合其他编程知识和Director的特性,如Lingo脚本语言,来实现更复杂的交互效果。对于初学者来说,掌握这些基本技巧是进一步深入学习Director的基础。

优化以下代码,# 构建特征矩阵和标签向量 X = [] y = data['Rating'] for index, row in data.iterrows(): features = [] # 添加运行时长区间评分 if pd.notna(row['RunTime']): category1 = pd.cut([row['RunTime']], bins=bins1, labels=labels1)[0] if category1 in avg_runtime_ratings: features.append(avg_runtime_ratings[category1]) else: features.append(0) else: features.append(0) # 添加年份区间评分 if pd.notna(row['year']): category2 = pd.cut([row['year']], bins=bins2, labels=labels2)[0] if category2 in avg_year_ratings: features.append(avg_year_ratings[category2]) else: features.append(0) else: features.append(0) # 添加导演评分 if row.Director in avg_director_ratings: features.append(avg_director_ratings[row.Director]) else: features.append(0) # 添加编剧评分 if row.Writer in avg_writer_ratings: features.append(avg_writer_ratings[row.Writer]) else: features.append(0) # 添加主演评分 casts = row.TopTwoCasts.split(',') if len(casts) == 1: cast = casts[0] if cast in avg_casts_ratings: features.append(avg_casts_ratings[cast]) else: features.append(0) features.extend([0, 0]) else: cast_1, cast_2 = casts if cast_1 in avg_casts_ratings: features.append(avg_casts_ratings[cast_1] * 0.6) else: features.append(0) if cast_2 in avg_casts_ratings: features.append(avg_casts_ratings[cast_2] * 0.4) else: features.append(0) # 添加类型评分 genres = row.Genres.split(',') if len(genres) == 1: genre = genres[0] if genre in avg_genres_ratings: features.append(avg_genres_ratings[genre]) else: features.append(0) features.extend([0, 0]) elif len(genres) == 2: genre_1, genre_2 = genres if genre_1 in avg_genres_ratings: features.append(avg_genres_ratings[genre_1] * 0.6) else: features.append(0) if genre_2 in avg_genres_ratings: features.append(avg_genres_ratings[genre_2] * 0.4) else: features.append(0) features.append(0) else: genre_1, genre_2, genre_3 = genres if genre_1 in avg_genres_ratings: features.append(avg_genres_ratings[genre_1] * 0.4) else: features.append(0) if genre_2 in avg_genres_ratings: features.append(avg_genres_ratings[genre_2] * 0.3) else: features.append(0) if genre_3 in avg_genres_ratings: features.append(avg_genres_ratings[genre_3] * 0.3) else: features.append(0) X.append(features) X = pd.DataFrame(X)

2023-06-01 上传