as3——影片的缩放,检测显示设置

本文介绍了Flash播放器中四种不同的影片缩放模式:exactFit、noBorder、noScale和showAll,并提供了每种模式的使用示例。同时,文章还讨论了如何根据屏幕分辨率选择加载不同的Flash影片内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用stage.scaleMode属性可以控制影片适应播放器,包括缩放。
    当播放器的尺寸变化时,有不同的缩放模式控制影片的缩放。模式定义成下列字符串:exactFit, noBorder, noScale, 和 showAll。然而,为了避免打字的错误,这些字符串当作静态属性:EXACT_FIT, NO_BORDER, NO_SCALE, 和SHOW_ALL定义在flash.display.StageScaleMode类中。
    flash播放器默认的缩放showAll模式。这种模式下,flash影片会在影片的初始比例缩放以适应播放器的尺寸。如果播放器的外观比例和影片的外观比例不一致会使影片出现边框。在主要的程序中设置影片为showAll模式格式如下(不要忘记置入flash.display.StageScaleMode类)
stage.scaleMode = StageScaleMode.SHOW_ALL;
    注意stage不是一个全局对象,而是任何一个可视化对象的一个属性,因此这个语句仅仅适用于sprite或可视化类的扩展类。
    noBorder模式缩放影片适应播放器会保持原来的外观比例;当然,它会强制播放器显示没有边框的场景。如果播放器的外观比例和影片比例不一致,在边缘的影片的一部分会被切割掉。设置影片为noBorder模式:
stage.scaleMode = StageScaleMode.NO_BORDER;
    exactFit模式缩放影片适应播放器,它会改变影片的外观比例,如果必须,会匹配播放器。结果是影片总是恰好充满播放器,但是影片的元素可能会变形:
stage.scaleMode = StageScaleMode.EXACT_FIT;
    在noScale模式中影片不能缩放,它会保持原来的尺寸和外观比例而不管场景的尺寸。使用noScale模式不要忘记设置影片的对齐排列。
stage.scaleMode = StageScaleMode.NO_SCALE;
    scaleMode属性的值不会阻止用户通过右键菜单缩放影片。然而,你可以关闭菜单中的那些选项。

用system.capabilities对象的screenResolutionX和screenResolutionY 属性可以得知影片运行的显示设置。
你可以利用flash.system.Capabilities对象确定正在运行影片的设备的显示设置。screenResolutionX 和 screenResolutionY 属性返回显示的像素。
// Example output:
// 1024
// 768
trace(flash.system.Capabilities.screenResolutionX);
trace(flash.system.Capabilities.screenResolutionY);
    利用这些值决定如何显示一个影片,或载入哪一个影片。这些判定对于许多支持flashplayer的手持设备日益重要。比如,手机的荧屏尺寸和电脑的桌面显示是不同的,因此需要根据播放设备载入不同的内容。
var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;

// If the resolution is 240 x 320 or less, then load the PocketPC
// movie version. Otherwise, assume the device is a desktop computer
// and load the regular content.
if ( (resX <= 240) && (resY <= 320) ) {
  var
url:String = "main_pocketPC.swf";
}
else {
  var
url:String = "main_desktop.swf";
}
loader.load(new URLRequest(url));
    也可以利用荧屏的分辨率中心弹出一个浏览器窗口。
var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;

// Set variables for the width and height of the new browser window.
var winW:int = 200;
var winH:int = 200;

// Determine the X and Y values to center the window.
var winX:int = (resX / 2) - (winW / 2);
var winY:int = (resY / 2) - (winH / 2);

// Create the code that, when passed to URLLoader.load(  )
// opens the new browser window.
var jsCode:String = "javascript:void(
         newWin=window.open('http://www.person13.com/'," +
         "'newWindow', 'width=" + winW +
         ", height=" +  winH + "," +
         "left=" + winX + ",top=" + winY + "'));";

// Call the JavaScript function using a URLLoader object
urlLoader.load(new URLRequest(jsCode));
    另外,也可以考虑根据荧屏的分辨率大小是否缩放影片。例如,当用户分辨率设置较高,像1600×1200,有些字体会显示的太小。


 
K近邻算法是一种简单易用的机器学习算法,它可以用于分类和回归问题。在分类问题中,K近邻算法通过计算待分类样本与训练集中每个样本的距离,找到距离待分类样本最近的K个样本,然后根据这K个样本的类别进行投票,将待分类样本归为票数最多的类别。在回归问题中,K近邻算法通过计算待预测样本与训练集中每个样本的距离,找到距离待预测样本最近的K个样本,然后根据这K个样本的值进行加权平均,得到待预测样本的预测值。 下面是一个使用K近邻算法进行乳腺癌检测分类的示例代码: ```python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score # 读取数据集 data = pd.read_csv("breast_cancer.csv") # 将类别变量转换为数值变量 data[&#39;diagnosis&#39;] = data[&#39;diagnosis&#39;].map({&#39;M&#39;: 1, &#39;B&#39;: 0}) # 将特征变量和类别变量分开 X = data.drop([&#39;diagnosis&#39;], axis=1) y = data[&#39;diagnosis&#39;] # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # 创建K近邻分类器 knn = KNeighborsClassifier(n_neighbors=5) # 训练K近邻分类器 knn.fit(X_train, y_train) # 在测试集上进行预测 y_pred = knn.predict(X_test) # 计算预测准确率 accuracy = accuracy_score(y_test, y_pred) print("预测准确率:", accuracy) ``` 上述代码使用了sklearn库中的KNeighborsClassifier类来创建K近邻分类器,并使用accuracy_score函数计算预测准确率。需要注意的是,K近邻算法对数据的缩放敏感,因此在使用K近邻算法之前,通常需要对数据进行缩放处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值