我有一个标准的jQuery插件设置,在顶部创建默认设置:
jQuery.fn.myPlugin = function(options) {
var defaults = {
starts: "0px,0px",
speed: 250, ...
};
o = $.extend(defaults, options);
}
Run Code Online (Sandbox Code Playgroud)
我有另一个变量叫numberOfObjects.
我正在尝试循环默认变量.对于找到的每个对象(from numberOfObjects),我需要复制变量值的值.所以,如果numberOfObjects变量是3,则defaults.starts应该是0px,0px > 0px,0px > 0px,0px.>用于分割值.
这就是我现在拥有的.X表示默认值中的变量名称.Y表示当前值的变量x.我已经走到这一步,并且不知道下一步该做什么.
for (x in defaults) { // x is defaults.x
defaults.x = defaults.x + " > y";
}
Run Code Online (Sandbox Code Playgroud) 我是HTML5/Canvas/Game编程的新手,但在阅读了几本书之后一直在修补它.我认为我对事情的运作方式有了很好的了解.这个问题提出了几个较小的问题,但总的来说基本上是一个"结构方法"的问题.我不期待详细的回复,但希望这里和那里的小指针:)这里是一个非滚动的链接,目前相当无聊的超级马里奥世界.
注意:控件是左/右和空格键可以跳转.这只是我刚才正在学习的Firefox设置.
目前我只专注于马里奥如何运行和跳跃,并认为我已经把它弄得相当不错.硬币盒没有做任何事情,背景只是一个装入外观的图像.这是我的方法,请告诉我这是否有任何完全错误:
现在我已经完成了马里奥如何移动的设置(我认为还有一些其他的小事我可能会像上升/下降和射击火球一样).我想我可以解决这个问题,但是当我想到以下内容以及HTML5/Canvas如何轻松处理这个问题时,我真的很遗憾:
滚动背景(我已经尝试设置地面平铺并使用屏幕环绕,但这似乎会导致很多不均匀的问题,因为我在相反的方向移动瓷砖.不幸的是,因为我试图考虑加速度,这抛弃了计数,并造成了地面的空隙.我放弃了这个想法.画布下方的DIV是否是最佳解决方案?
敌人:我会以同样的方式制造敌人并在每个帧中对每个敌人进行碰撞检测吗?
背景框:我试图让Mario站在后台的盒子上,但我不确定如何处理这个问题.我目前有Mario的边界设置留在画布上,我是否继续扩展这些条件以根据框设置不同的边界?我可以看到在屏幕上有几个方框并且这样做会有点疯狂,特别是如果我会对敌人做同样的命中测试?我知道我在这里遗漏了一些东西....
等级运动:这有点相关.按下右键时,基本上所有级别都需要向左移动.在每个动画帧中,我是否需要跟踪所有可能触及马里奥的位置(让他站在一起的盒子和让他碰撞的敌人)?这似乎会变得有点低效?
谢谢大家!我会用结果/解决方案更新这个:)
我正在制作我的第一个WP插件,而且卡住了.
我在内容编辑器下面的帖子页面上创建了一个自定义字段(字段1).它保存正确.:)
我在添加媒体时在媒体库弹出窗口中创建了一个自定义字段(字段2).它保存正确.:)
我想要做的是使用字段1中的值作为字段2的默认值.
我怀疑问题在于attachment_fields_to_edit回调函数.
我认为$ post现在指的是实际的"文件附件帖子"而不是帖子本身,所以当我引用我保存的值时:
$post_meta = get_post_meta( $post->ID );
Run Code Online (Sandbox Code Playgroud)
它实际上是拉动与该附件相关联的所有元素,而不是当前帖子.是否可以从实际帖子中提取元数据?
此代码来自Codex:
function my_add_attachment_location_field( $form_fields, $post ) {
$field_value = get_post_meta( $post->ID, 'location', true );
$form_fields['location'] = array(
'value' => $field_value ? $field_value : '',
'label' => __( 'Location' ),
'helps' => __( 'Set a location for this attachment' )
);
return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'my_add_attachment_location_field', 10, 2 );
function my_save_attachment_location( $attachment_id ) {
if ( isset( $_REQUEST['attachments'][$attachment_id]['location'] ) ) {
$location = $_REQUEST['attachments'][$attachment_id]['location'];
update_post_meta( …Run Code Online (Sandbox Code Playgroud) 我已经看到这个问题弹出了几次没有任何明确的解决方案.
我正在加载一个简单的视频
<video src="" controls></video>
Run Code Online (Sandbox Code Playgroud)
在我的页面上.该视频可以跨浏览器工作和播放(不显示此问题的所有格式设置,因为它不相关).
然后我将边界半径应用于视频标签.这适用于Chrome以外的功能.我甚至可以拉起控制台并看到应用于视频标签的border-radius,但它不会渲染边框半径.
有人熟悉这个问题吗?我已经读过它是Chrome中的一个错误,但我不确定它是否已经解决或是否有解决方法?
我习惯写这样的插件:
;(function($){jQuery.fn.myPlugin=function(options){
var defaults={
'property':value
},
o=$.extend({},defaults,options||{});
// INSERT AND CACHE ELEMENTS
var $Element=$('<div></div>');
$Element.appendTo($('body'));
function funFunction(){
// I have access to $Element!
$Element.hide(500);
};
this.each(function(i){
var $this=$(this);
});
return this;
});};})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我知道它并不完美,这就是为什么我现在正在努力学习命名空间,更好的插件结构/模式.不幸的是,我读过的几本书不经意地逐字引用了jQuery插件创作教程,所以没有多大帮助.该教程似乎将所有内容分开,并没有显示组合的良好示例,这就是为什么我感到困惑.在本教程中,它显示了命名空间示例.
jQuery插件命名空间教程
(function( $ ){
var methods = {
init : function( options ) {
},
show : function( ) {
},
hide : function( ) {
},
update : function( content ) {
}
};
$.fn.tooltip = function( method ) {
// Method calling logic
if ( …Run Code Online (Sandbox Code Playgroud) 我在这里看到了几个关于这个的问题,(包括使用when/promise解决方案),但它们似乎没有用.基本上我一次动画多个元素,并在回调中调用一个函数,但函数被多次调用 - 对于每个被动画化的元素...这是我的代码:
OBJCollection.css({
'width': '0em',
'height': '0em'
}).animate({
'width': Screens.ImageW / 16 + 'em',
'height': Screens.ImageH / 16 + 'em'
}, {
duration: Screens.currentImageParent.data('LightboxFadeSpeedIn'),
queue: false,
step: function (now, fx) {
componentScaler();
},
complete: function () {
$Content.show('fade', Screens.currentImageParent.data('ContentFadeSpeedIn'));
//calling function here
}
});
Run Code Online (Sandbox Code Playgroud)
我试过了:
if (!OBJCollection.is(':animated')) { ... call function }
Run Code Online (Sandbox Code Playgroud)
这没用.我也尝试过使用when的解决方案,但这似乎抛弃了我的函数调用(根据OBJCollection的最终动画大小定位其他元素).我不确定(因为这是我第一次使用/ promise),但是在第一个项目完成动画并忽略所有其他项目后,它是否会触发一次回调?看起来这就是它正在做的事情,但我正在寻找一个解决方案,当所有项目完成动画时触发回调....
有任何想法吗?
我正在尝试将特殊字符转换为HTML,并且不确定是否可以。如果有人记得Kroz或几乎每个DOS界面-都有一组特殊的形状字符。我想使用单大括号,双大括号,阴影和其他形状字符,但我似乎无法在任何地方跟踪到这些。

此外,在HTML环境中使用这些字符是否会引起任何本地化问题/是否存在必需的字符集?
谢谢!
我有以下代码将图像绘制到画布并获取像素数据:
var canvas=$('#canvas'),
ctx=canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
var data=ctx.getImageData(0, 0, canvas.width, canvas.height);
Run Code Online (Sandbox Code Playgroud)
这将RGBA我需要存储的值拉到一个我可以使用X/Y坐标访问的数组中.绘制到画布上的图像是黑/白图像 - 因此它会检查像素是黑色还是白色X,Y如:
imageArray[x][y]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何循环像素数据并将其保存到2d数组中,因此我可以通过坐标来调用它.