<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[formorange的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/formorange</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; formorange]]></copyright><item><title><![CDATA[【Labplus 3】掌控板-无线广播口令匹配]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113994832</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113994832</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 16:41:54 +0800</pubDate><description><![CDATA[“9527,9527”、“山鸡”、“星爷”……很耳熟的台词，想用无线广播的功能实现类似的效果。正好手头有2个版本的掌控板，可以硬件互动下了。

Labplus中的无线广播功能 可以算是Scratch中广播消息的升级版本，支持硬件互动。

先看下实现效果：





输入相应的口令后，这样显示：





【发送端】设计

发送端放在掌控板2.0上，看实现效果：





第一步需要在 掌控板主程序 事件中打开无线广播，选择一个频道，默认13。





新建变量：发送内容、当前选中的数字、中间临时内...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-弹弹球]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113986370</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113986370</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 14:08:01 +0800</pubDate><description><![CDATA[移动方块板接住小球的游戏也用掌控板实现一个，主要是一个小球和方块板的绘制和移动规则，先看下实际效果：





绘制功能提示菜单：





新建变量：小球相关变量、平台板横向X坐标变量、分数、变化坐标值和开始游戏的标识。





绘制实心小球：





绘制平台板：





左移：触摸按下掌控板上的P键





右移：触摸按下掌控板上的N键





设定游戏结束显示分数的条件：





设定小球回弹变化值的条件判断：





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-绘制卷轴]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113982699</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113982699</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 12:52:38 +0800</pubDate><description><![CDATA[看过书卷、图画后，也想实现一个卷轴的效果，先看下实际效果图：





目前实现的方案是：分两步，先绘制卷轴，再显示文字。当同步执行时发现屏幕显示有卡顿的情况。

先看下主调用图块代码：





绘制开始的功能菜单，提示如何操作：





新建变量：轴相关的变量和 中间区域的直线增长的步长变量。





显示中间区域显示的文字内容：





先绘制左侧卷轴，再绘制右侧卷轴：





自制积木，即函数封装 卷轴杆 的绘制界面：





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-剪刀石头布]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113943230</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113943230</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 11:06:23 +0800</pubDate><description><![CDATA[跟人猜拳，可以让掌控板随机出图，节省脑细胞，呵呵。





通过随机值来从 剪刀、石头、布3个中抽取1个出图：





设定3种情况：





当条件为1时，出石头；





当条件为2时，出剪刀；





当条件为3时，出布。

静态图没有猜的效果，那么就用两张大小不同的图，循环执行，让图动起来！





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-放射烟花]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113945271</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113945271</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 10:59:44 +0800</pubDate><description><![CDATA[用掌控板实现一个新年烟花，先看下实际效果：





新建变量，设定一个初始Y坐标，来标识从下到上的线条的初始位置：





之后是绘制散射状的线条烟花，这里一共用3朵烟花来展示效果：



绘制左边的烟花：





绘制中间的烟花：





绘制右边的烟花：





完整实现的图块代码截图如下：










...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-绘制叠加圆]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113948825</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113948825</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 10:58:50 +0800</pubDate><description><![CDATA[为进一步了解绘制图案，设计一个叠加圆，逆时针旋转方向绘制圆，使圆叠加生成网状球。





这是直接定义一个内切圆的自制积木，半径可以自由调整：





主要的画图操作：





其中绘制空心圆的代码块：





完整实现的图块代码截图如下：










...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-绘制抛物线]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113951040</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113951040</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 10:51:08 +0800</pubDate><description><![CDATA[实现绘制XY坐标轴，并实现抛物线效果。先看下实际效果：





具体实现代码截图如下：





拆解说明。自制积木封装功能脚本，分别封装实现绘制坐标和描点。









绘制抛物线轨迹的描点，采用实心圆点。





监听事件可以采用系统自带的，也可以自己来实现。

采用系统提供的 当A 按钮 被点击等：





采用自己来实现，则采用重复执行分支语句：





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-电子沙漏]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113952717</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113952717</guid><author>formorange</author><pubDate>Tue, 23 Feb 2021 10:50:18 +0800</pubDate><description><![CDATA[计时沙漏现在仍有见到，也用掌控板来实现一个。采用XYZ轴可以实现多样化的沙漏，先实现一个上下结构的，看下效果：





具体实现代码不多，如下：





其中绘制沙子落下效果，即不断重绘不同长度的三角形和直线即可：





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-测量角度与水平]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113939253</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113939253</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 15:06:14 +0800</pubDate><description><![CDATA[用掌控板实现量角器功能，测量角度；实现水平仪检测效果测水平。





先看下具体实现代码：





新建变量：大圆中心点X坐标、大圆中心点Y坐标，大圆半径。初始值设定好。





变量X轴倾斜角度用来记录量角器倾斜转动时的动态值：





绘制量角器图案：





设定变化的XY坐标值：





绘制量角器上的转动杆：





绘制底部平台。采用矩形，让其中的短竖直线来回移动。实现水平仪液体滚动效果。





绘制模拟水平仪液体的短竖直线：





这里用于动态判断是否水...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-XY水平尺]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113934595</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113934595</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 13:12:35 +0800</pubDate><description><![CDATA[用掌控板来实现一个水平仪，测量物品是否平稳。需要用到掌控板的XYZ轴传感器。





先看下完整的主功能代码：





水平尺效果仅用XY轴的值即可，新建两个变量，分别获取XY轴的值，同时要用到 映射这个功能脚本，让取值在一定区域动态变化获取。









这里通过是否平稳来显示不同的LED灯效果。





绘制XY轴线和中心圆点：





绘制显示文本，用于实时显示XY轴具体数值：





完整实现的图块代码截图如下：






...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-99秒表]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113933891</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113933891</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 12:10:49 +0800</pubDate><description><![CDATA[设计一个两位数的倒计时，包含十位数和个位数的值在Scratch中实现。

先看下完整代码块，新建变量：十位，个位，计数值用于循环。





这块是控制计数值在两位：





十位的值在Scratch中实现方式：





个位的值在Scratch中实现方式：





这部分代码是在掌控板上绘制内容：





完整实现的图块代码截图如下：




...]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-红绿灯按键控制]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932997</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932997</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:34:21 +0800</pubDate><description><![CDATA[在Labplus的扩展模块中切入互动编程模式，先熟悉掌控板自带的基础功能，比如LED灯，AB按键等。

1、Scratch中的事件来控制掌控板

通过Scratch中的按键事件来让掌控板上的LED灯显示不同颜色，达到不同的灯效。



2、通过掌控板上的A-B按键来调动Scratch舞台角色

先在掌控板上按左边的A键，右边的B键和A-B两键组合使用，再回看Scratch舞台区上的角色出现的反应，以达到软硬结合的效果，通过硬件来控制软件中的角色做出不同的行为。



3、掌控板触控键控制Scratch中角色]]></description><category></category></item><item><title><![CDATA[图片base64处理另外保存]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932885</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932885</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:25:26 +0800</pubDate><description><![CDATA[$req_imgdata = html_entity_decode($data_post["imgbase64"]);

$hpimg_arr = base64imgsave($req_imgdata);


function base64imgsave($imgdata)
{   
    //文件夹日期
	$ymd = date("Ymd");

	//WEB服务地址前缀
	$web_prefix_url = 'http://read.woweiqu.com';
	
	//目标主目录
	$target.]]></description><category></category></item><item><title><![CDATA[解析某个94aw演示备忘]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932791</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932791</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:22:10 +0800</pubDate><description><![CDATA[//一、分页数：电影
function importFilmPages($vtype, $cate_code, $cate_name)
{
    for($i = 2; $i &gt;= 1; $i--)
    {
        echo $cate_code.' page='.$i.PHP_EOL;
        importVideoList($vtype, $i, $cate_code, $cate_name);
    }
}

//一、分页数：恐怖
function importHorr.]]></description><category></category></item><item><title><![CDATA[解析部分链接格式记录]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932652</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932652</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:17:54 +0800</pubDate><description><![CDATA[&lt;?php
header('content-type:text/html; charset=utf-8');
require_once '/common/common.php';

//getPPBOX();

getYouKu();

//PPBOX-PPTV网络盒子
function getPPBOX()
{
    $post_data = array(
        "id" =&gt; '20743e2a02c06df62c6a6e7ba5f1985e',
        "type" .]]></description><category></category></item><item><title><![CDATA[常用的mysql_data.php备忘记录]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932469</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932469</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:12:15 +0800</pubDate><description><![CDATA[&lt;?php
// 针对MySQL数据库中的数据进行添加、修改、删除等操作
require_once "../common/db.mysql.class.php";//加载连接封装类
require_once "../common/db.conf.php";//加载配置

//=======================添加记录===========================
//统一添加数据操作
function insertInfo($tablename, $add_arr, $issho.]]></description><category></category></item><item><title><![CDATA[常用的common.php备忘记录]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932423</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932423</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:10:48 +0800</pubDate><description><![CDATA[&lt;?php
date_default_timezone_set('PRC'); 
//MD5加密
function getMD5($dataStr)
{
	$sign = md5($dataStr);
	return $sign;
}

//转换编码
function conv($str)
{
	$str = iconv("GB2312","UTF-8//IGNORE",$str);
	return $str;
}

// 获取当前时间戳(精确到毫秒)：microtime_float()
funct.]]></description><category></category></item><item><title><![CDATA[字符编码转换类, ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113932319</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113932319</guid><author>formorange</author><pubDate>Mon, 22 Feb 2021 11:07:46 +0800</pubDate><description><![CDATA[&lt;?php
/** 字符编码转换类, ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换
 * Func:
 * public convert 转换
 * private convToUtf8 把编码转为UTF-8编码
 * private convFromUtf8 把UTF-8编码转换为输出编码
 */
class CharsetConv { // class start
    private $_in_charset = null; // 源.]]></description><category></category></item><item><title><![CDATA[【Labplus 3】掌控板-电子钢琴]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113919631</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113919631</guid><author>formorange</author><pubDate>Sun, 21 Feb 2021 16:25:41 +0800</pubDate><description><![CDATA[在文本式代码编程中需要查阅大量的文档，看文字看纯代码在逐步由被迫适应到主动接受。但在少儿编程中，图片、视频对青少年的视觉冲击更大，通过跟孩子们的实际接触，个人觉得【少文字，多图案，碰实物，真感受】的教学引导方式更适合他们。

在提供一些功能案例模块时，也是尽量少说文字，多以实际的图片和效果来直观地让他们去想象理解。文字是别人的理解落地，而看图产生自己的想法，形成自己的理解，这个过程才是真正的思维，而最终的做题结果并不是思维。

在进行软硬结合的案例中，选择了以电子钢琴为例，钢琴对于孩子们来说不陌生，见过实物]]></description><category></category></item><item><title><![CDATA[Redis可直接使用的简单代码]]></title><link>https://blog.youkuaiyun.com/formorange/article/details/113919098</link><guid>https://blog.youkuaiyun.com/formorange/article/details/113919098</guid><author>formorange</author><pubDate>Sun, 21 Feb 2021 15:48:54 +0800</pubDate><description><![CDATA[两个文件，一个配置文件，一个常用操作函数集合文件

1、文件名：iredis.php

&lt;?php



classiredisextendsRedis{

publicfunction__construct($db){

parent::__construct();

$this-&gt;connect('127.0.0.1','6379');//IPAddressAndPort

$this-&gt;aut...]]></description><category></category></item></channel></rss>